From f9c52733beda38e55b44c65184a5d3d224ef38a7 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 31 Jul 2024 16:40:12 +0200 Subject: [PATCH] Update OAS up to 2024-07 (#102) Co-authored-by: update-oas-bot --- .../marketingsolutions_2023-04.json | 5110 ------- .../marketingsolutions_2023-07.json | 16 +- .../marketingsolutions_2023-10.json | 16 +- .../marketingsolutions_2024-01.json | 16 +- .../marketingsolutions_2024-04.json | 16 +- .../marketingsolutions_2024-07.json | 11259 ++++++++++++++++ .../marketingsolutions_preview.json | 545 +- api-specifications/retailmedia_2023-07.json | 271 +- api-specifications/retailmedia_2023-10.json | 307 +- api-specifications/retailmedia_2024-01.json | 313 +- api-specifications/retailmedia_2024-04.json | 325 +- ..._2023-04.json => retailmedia_2024-07.json} | 8478 +++++++----- api-specifications/retailmedia_preview.json | 6746 +++++---- 13 files changed, 21808 insertions(+), 11610 deletions(-) delete mode 100644 api-specifications/marketingsolutions_2023-04.json create mode 100644 api-specifications/marketingsolutions_2024-07.json rename api-specifications/{retailmedia_2023-04.json => retailmedia_2024-07.json} (78%) diff --git a/api-specifications/marketingsolutions_2023-04.json b/api-specifications/marketingsolutions_2023-04.json deleted file mode 100644 index db86ed3..0000000 --- a/api-specifications/marketingsolutions_2023-04.json +++ /dev/null @@ -1,5110 +0,0 @@ -{ - "openapi": "3.0.1", - "info": { - "title": "Criteo API", - "description": "Criteo API - MarketingSolutions", - "version": "2023-04" - }, - "servers": [ - { - "url": "https://api.criteo.com" - } - ], - "paths": { - "/2023-04/audiences": { - "get": { - "tags": [ - "Audience" - ], - "description": "Get a list of all the audiences for the user or for the given advertiser_id", - "operationId": "getAudiences", - "parameters": [ - { - "name": "advertiser-id", - "in": "query", - "description": "The advertiser id to get all the audiences for.\nMandatory for internal users. For external users,\n if you don't provide it, we will take into account the advertisers from your portfolio", - "style": "form", - "schema": { - "type": "string", - "format": "int32" - } - } - ], - "responses": { - "200": { - "description": "The list was retrieved.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GetAudiencesResponse" - }, - "example": { - "data": [ - { - "type": "AudienceContactlist", - "id": "1", - "attributes": { - "advertiserId": "18", - "name": "Audience name", - "description": "Audience", - "created": "2018-12-10T10:00:50.0000000+00:00", - "updated": "2018-12-10T10:17:15.0000000+00:00", - "nbLines": 100, - "nbLinesEmail": 10, - "nbMatchesEmail": 10 - } - } - ], - "errors": [ ], - "warnings": [ - { - "traceId": "56ed4096-f96a-4944-8881-05468efe0ec9", - "type": "deprecation", - "code": "deprecated-field", - "instance": "/audiences/314195", - "title": "'nbValidIds' is deprecated", - "detail": "The field 'nbValidIds' is deprecated please use 'nbValidIdentifiers" - } - ] - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorCodeResponse" - }, - "example": { - "errors": [ - { - "traceId": "56ed4096-f96a-4944-8881-05468efe0ec9", - "type": "validation", - "code": "audience-invalid", - "instance": "/audience/314159", - "title": "Audience is invalid", - "detail": "Audience is not found, please choose a valid audience" - } - ], - "warnings": [ - { - "traceId": "56ed4096-f96a-4944-8881-05468efe0ec9", - "type": "deprecation", - "code": "deprecated-field", - "instance": "/audiences/314195", - "title": "'nbValidIds' is deprecated", - "detail": "The field 'nbValidIds' is deprecated please use 'nbValidIdentifiers" - } - ] - } - } - } - } - } - }, - "post": { - "tags": [ - "Audience" - ], - "description": "Create an Audience for an Advertiser", - "operationId": "createAudience", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/NewAudienceRequest" - } - } - }, - "required": true, - "x-bodyName": "body" - }, - "responses": { - "200": { - "description": "The audience was created", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/NewAudienceResponse" - }, - "example": { - "data": { - "id": "1", - "type": "Audience" - }, - "errors": [ ], - "warnings": [ - { - "traceId": "56ed4096-f96a-4944-8881-05468efe0ec9", - "type": "deprecation", - "code": "deprecated-field", - "instance": "/audiences/314195", - "title": "'nbValidIds' is deprecated", - "detail": "The field 'nbValidIds' is deprecated please use 'nbValidIdentifiers" - } - ] - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorCodeResponse" - }, - "example": { - "errors": [ - { - "traceId": "56ed4096-f96a-4944-8881-05468efe0ec9", - "type": "validation", - "code": "audience-invalid", - "instance": "/audience/314159", - "title": "Audience is invalid", - "detail": "Audience is not found, please choose a valid audience" - } - ], - "warnings": [ - { - "traceId": "56ed4096-f96a-4944-8881-05468efe0ec9", - "type": "deprecation", - "code": "deprecated-field", - "instance": "/audiences/314195", - "title": "'nbValidIds' is deprecated", - "detail": "The field 'nbValidIds' is deprecated please use 'nbValidIdentifiers" - } - ] - } - } - } - } - } - } - }, - "/2023-04/audiences/{audience-id}": { - "delete": { - "tags": [ - "Audience" - ], - "description": "Delete an audience by id", - "operationId": "removeAudience", - "responses": { - "200": { - "description": "The audience was deleted", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DeleteAudienceResponse" - }, - "example": { - "data": { - "id": "1", - "type": "Audience" - }, - "errors": [ ], - "warnings": [ - { - "traceId": "56ed4096-f96a-4944-8881-05468efe0ec9", - "type": "deprecation", - "code": "deprecated-field", - "instance": "/audiences/314195", - "title": "'nbValidIds' is deprecated", - "detail": "The field 'nbValidIds' is deprecated please use 'nbValidIdentifiers" - } - ] - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorCodeResponse" - }, - "example": { - "errors": [ - { - "traceId": "56ed4096-f96a-4944-8881-05468efe0ec9", - "type": "validation", - "code": "audience-invalid", - "instance": "/audience/314159", - "title": "Audience is invalid", - "detail": "Audience is not found, please choose a valid audience" - } - ], - "warnings": [ - { - "traceId": "56ed4096-f96a-4944-8881-05468efe0ec9", - "type": "deprecation", - "code": "deprecated-field", - "instance": "/audiences/314195", - "title": "'nbValidIds' is deprecated", - "detail": "The field 'nbValidIds' is deprecated please use 'nbValidIdentifiers" - } - ] - } - } - } - } - } - }, - "patch": { - "tags": [ - "Audience" - ], - "description": "Update user audience specified by the audience id", - "operationId": "modifyAudience", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ReplaceAudienceRequest" - } - } - }, - "required": true, - "x-bodyName": "body" - }, - "responses": { - "200": { - "description": "The audience was updated", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ReplaceAudienceResponse" - }, - "example": { - "data": { - "id": "1", - "type": "AudienceContactlist", - "attributes": { - "name": "example audience", - "description": "example audience description" - } - }, - "errors": [ ], - "warnings": [ - { - "traceId": "56ed4096-f96a-4944-8881-05468efe0ec9", - "type": "deprecation", - "code": "deprecated-field", - "instance": "/audiences/314195", - "title": "'nbValidIds' is deprecated", - "detail": "The field 'nbValidIds' is deprecated please use 'nbValidIdentifiers" - } - ] - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorCodeResponse" - }, - "example": { - "errors": [ - { - "traceId": "56ed4096-f96a-4944-8881-05468efe0ec9", - "type": "validation", - "code": "audience-invalid", - "instance": "/audience/314159", - "title": "Audience is invalid", - "detail": "Audience is not found, please choose a valid audience" - } - ], - "warnings": [ - { - "traceId": "56ed4096-f96a-4944-8881-05468efe0ec9", - "type": "deprecation", - "code": "deprecated-field", - "instance": "/audiences/314195", - "title": "'nbValidIds' is deprecated", - "detail": "The field 'nbValidIds' is deprecated please use 'nbValidIdentifiers" - } - ] - } - } - } - } - } - }, - "parameters": [ - { - "name": "audience-id", - "in": "path", - "description": "The id of the audience to amend", - "required": true, - "style": "simple", - "schema": { - "type": "string", - "format": "int32" - } - } - ] - }, - "/2023-04/audiences/{audience-id}/contactlist": { - "delete": { - "tags": [ - "Audience" - ], - "description": "Delete all identifiers from a contact list audience-segment.", - "operationId": "deleteIdentifiers", - "responses": { - "200": { - "description": "The contactlist was deleted", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DeleteAudienceContactListResponse" - }, - "example": { - "data": { - "id": "1", - "type": "AudienceContactlist" - }, - "errors": [ ], - "warnings": [ - { - "traceId": "56ed4096-f96a-4944-8881-05468efe0ec9", - "type": "deprecation", - "code": "deprecated-field", - "instance": "/audiences/314195", - "title": "'nbValidIds' is deprecated", - "detail": "The field 'nbValidIds' is deprecated please use 'nbValidIdentifiers" - } - ] - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorCodeResponse" - }, - "example": { - "errors": [ - { - "traceId": "56ed4096-f96a-4944-8881-05468efe0ec9", - "type": "validation", - "code": "audience-invalid", - "instance": "/audience/314159", - "title": "Audience is invalid", - "detail": "Audience is not found, please choose a valid audience" - } - ], - "warnings": [ - { - "traceId": "56ed4096-f96a-4944-8881-05468efe0ec9", - "type": "deprecation", - "code": "deprecated-field", - "instance": "/audiences/314195", - "title": "'nbValidIds' is deprecated", - "detail": "The field 'nbValidIds' is deprecated please use 'nbValidIdentifiers" - } - ] - } - } - } - } - } - }, - "patch": { - "tags": [ - "Audience" - ], - "description": "Add/remove users to or from a contact list audience-segment.", - "operationId": "modifyAudienceUsers", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ContactlistAmendmentRequest" - } - } - }, - "required": true, - "x-bodyName": "body" - }, - "responses": { - "200": { - "description": "Summary of created request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ModifyAudienceResponse" - }, - "example": { - "data": { - "type": "ContactlistAmendment", - "attributes": { - "contactListId": 12, - "operation": "add", - "requestDate": "2018-12-10T10:00:50.0000000+00:00", - "identifierType": "madid", - "nbValidIdentifiers": 7343, - "nbInvalidIdentifiers": 13, - "sampleInvalidIdentifiers": [ - "InvalidIdentifier" - ] - } - }, - "errors": [ ], - "warnings": [ - { - "traceId": "56ed4096-f96a-4944-8881-05468efe0ec9", - "type": "deprecation", - "code": "deprecated-field", - "instance": "/audiences/314195", - "title": "'nbValidIds' is deprecated", - "detail": "The field 'nbValidIds' is deprecated please use 'nbValidIdentifiers" - } - ] - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorCodeResponse" - }, - "example": { - "errors": [ - { - "traceId": "56ed4096-f96a-4944-8881-05468efe0ec9", - "type": "validation", - "code": "audience-invalid", - "instance": "/audience/314159", - "title": "Audience is invalid", - "detail": "Audience is not found, please choose a valid audience" - } - ], - "warnings": [ - { - "traceId": "56ed4096-f96a-4944-8881-05468efe0ec9", - "type": "deprecation", - "code": "deprecated-field", - "instance": "/audiences/314195", - "title": "'nbValidIds' is deprecated", - "detail": "The field 'nbValidIds' is deprecated please use 'nbValidIdentifiers" - } - ] - } - } - } - }, - "404": { - "description": "Audience 123 not found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ErrorCodeResponse" - }, - "example": { - "errors": [ - { - "traceId": "56ed4096-f96a-4944-8881-05468efe0ec9", - "type": "validation", - "code": "audience-invalid", - "instance": "/audience/314159", - "title": "Audience is invalid", - "detail": "Audience is not found, please choose a valid audience" - } - ], - "warnings": [ - { - "traceId": "56ed4096-f96a-4944-8881-05468efe0ec9", - "type": "deprecation", - "code": "deprecated-field", - "instance": "/audiences/314195", - "title": "'nbValidIds' is deprecated", - "detail": "The field 'nbValidIds' is deprecated please use 'nbValidIdentifiers" - } - ] - } - } - } - } - } - }, - "parameters": [ - { - "name": "audience-id", - "in": "path", - "description": "The id of the audience to amend", - "required": true, - "style": "simple", - "schema": { - "type": "string", - "format": "int32" - } - } - ] - }, - "/2023-04/marketing-solutions/me": { - "get": { - "tags": [ - "Gateway" - ], - "description": "Get information about the currently logged application", - "operationId": "GetCurrentApplication", - "responses": { - "200": { - "description": "Success", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApplicationSummaryModelResponse" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { } - } - } - } - } - }, - "/2023-04/marketing-solutions/ad-sets": { - "patch": { - "tags": [ - "Campaign" - ], - "description": "Patch a list of AdSets.", - "operationId": "PatchAdSets", - "requestBody": { - "description": "List of adsets to patch.", - "content": { - "application/json-patch+json": { - "schema": { - "$ref": "#/components/schemas/RequestsPatchAdSet" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/RequestsPatchAdSet" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/RequestsPatchAdSet" - } - }, - "application/*+json": { - "schema": { - "$ref": "#/components/schemas/RequestsPatchAdSet" - } - } - }, - "x-bodyName": "adSets" - }, - "responses": { - "200": { - "description": "List of patched adSets.", - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ResponsesAdSetId" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/ResponsesAdSetId" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/ResponsesAdSetId" - } - } - } - }, - "401": { - "description": "The API client is not properly authenticated.", - "content": { - "text/plain": { }, - "application/json": { }, - "text/json": { } - } - }, - "403": { - "description": "The API client is not authorized to access this resource or the resource does not exist.", - "content": { - "text/plain": { }, - "application/json": { }, - "text/json": { } - } - } - } - } - }, - "/2023-04/marketing-solutions/ad-sets/search": { - "post": { - "tags": [ - "Campaign" - ], - "description": "Search for ad sets", - "operationId": "SearchAdSets", - "requestBody": { - "content": { - "application/json-patch+json": { - "schema": { - "$ref": "#/components/schemas/RequestAdSetSearch" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/RequestAdSetSearch" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/RequestAdSetSearch" - } - }, - "application/*+json": { - "schema": { - "$ref": "#/components/schemas/RequestAdSetSearch" - } - } - }, - "x-bodyName": "request" - }, - "responses": { - "200": { - "description": "data for the ad sets", - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ResponsesReadAdSet" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/ResponsesReadAdSet" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/ResponsesReadAdSet" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "text/plain": { }, - "application/json": { }, - "text/json": { } - } - }, - "403": { - "description": "Forbidden", - "content": { - "text/plain": { }, - "application/json": { }, - "text/json": { } - } - }, - "401": { - "description": "The API client is not properly authenticated.", - "content": { - "text/plain": { }, - "application/json": { }, - "text/json": { } - } - } - }, - "deprecated": true - } - }, - "/2023-04/marketing-solutions/ad-sets/start": { - "post": { - "tags": [ - "Campaign" - ], - "description": "Start the specified list of ad sets", - "operationId": "StartAdSets", - "requestBody": { - "description": "All the ad sets to start", - "content": { - "application/json-patch+json": { - "schema": { - "$ref": "#/components/schemas/RequestsAdSetId" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/RequestsAdSetId" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/RequestsAdSetId" - } - }, - "application/*+json": { - "schema": { - "$ref": "#/components/schemas/RequestsAdSetId" - } - } - }, - "x-bodyName": "adSets" - }, - "responses": { - "200": { - "description": "List of ad sets that have been started and errors / warnings by ad set", - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ResponsesAdSetId" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/ResponsesAdSetId" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/ResponsesAdSetId" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "text/plain": { }, - "application/json": { }, - "text/json": { } - } - }, - "401": { - "description": "The API client is not properly authenticated.", - "content": { - "text/plain": { }, - "application/json": { }, - "text/json": { } - } - } - } - } - }, - "/2023-04/marketing-solutions/ad-sets/stop": { - "post": { - "tags": [ - "Campaign" - ], - "description": "Stop the specified list of ad sets", - "operationId": "StopAdSets", - "requestBody": { - "description": "All the ad sets to stop", - "content": { - "application/json-patch+json": { - "schema": { - "$ref": "#/components/schemas/RequestsAdSetId" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/RequestsAdSetId" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/RequestsAdSetId" - } - }, - "application/*+json": { - "schema": { - "$ref": "#/components/schemas/RequestsAdSetId" - } - } - }, - "x-bodyName": "adSets" - }, - "responses": { - "200": { - "description": "List of ad sets that have been stopped and errors / warnings by ad set", - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ResponsesAdSetId" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/ResponsesAdSetId" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/ResponsesAdSetId" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "text/plain": { }, - "application/json": { }, - "text/json": { } - } - }, - "401": { - "description": "The API client is not properly authenticated.", - "content": { - "text/plain": { }, - "application/json": { }, - "text/json": { } - } - } - } - } - }, - "/2023-04/marketing-solutions/ad-sets/{ad-set-id}/category-bids": { - "get": { - "tags": [ - "Campaign" - ], - "description": "Get the Category Bids for all valid Categories associated to an Ad Set", - "operationId": "GetCategoryBidList", - "parameters": [ - { - "name": "ad-set-id", - "in": "path", - "description": "Id of the Ad Set", - "required": true, - "style": "simple", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "List of Category Bids for all valid Categories associated to an Ad Set.", - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/AdSetCategoryBidListResponse" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/AdSetCategoryBidListResponse" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/AdSetCategoryBidListResponse" - } - } - } - }, - "401": { - "description": "The API client is not properly authenticated.", - "content": { - "text/plain": { }, - "application/json": { }, - "text/json": { } - } - }, - "400": { - "description": "Bad Request", - "content": { - "text/plain": { }, - "application/json": { }, - "text/json": { } - } - }, - "403": { - "description": "The API client is not authorized to access this resource or the resource does not exist.", - "content": { - "text/plain": { }, - "application/json": { }, - "text/json": { } - } - } - } - }, - "patch": { - "tags": [ - "Campaign" - ], - "description": "Patch Category Bids for one or more Categories in a single request. Partial success policy is followed.", - "operationId": "PatchCategoryBidList", - "parameters": [ - { - "name": "ad-set-id", - "in": "path", - "description": "Id of the Ad Set", - "required": true, - "style": "simple", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json-patch+json": { - "schema": { - "$ref": "#/components/schemas/PatchAdSetCategoryBidListRequest" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/PatchAdSetCategoryBidListRequest" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/PatchAdSetCategoryBidListRequest" - } - }, - "application/*+json": { - "schema": { - "$ref": "#/components/schemas/PatchAdSetCategoryBidListRequest" - } - } - }, - "x-bodyName": "categoryBidsToUpdate" - }, - "responses": { - "200": { - "description": "List of updated Category Bids for given Categories associated to an Ad Set.", - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/PatchAdSetCategoryBidResultListResponse" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/PatchAdSetCategoryBidResultListResponse" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/PatchAdSetCategoryBidResultListResponse" - } - } - } - }, - "401": { - "description": "The API client is not properly authenticated.", - "content": { - "text/plain": { }, - "application/json": { }, - "text/json": { } - } - }, - "400": { - "description": "Bad Request", - "content": { - "text/plain": { }, - "application/json": { }, - "text/json": { } - } - }, - "403": { - "description": "The API client is not authorized to access this resource or the resource does not exist.", - "content": { - "text/plain": { }, - "application/json": { }, - "text/json": { } - } - } - } - } - }, - "/2023-04/marketing-solutions/ad-sets/{ad-set-id}/display-multipliers": { - "get": { - "tags": [ - "Campaign" - ], - "description": "Get the Display Multipliers for all valid Categories associated to an Ad Set", - "operationId": "GetDisplayMultipliers", - "parameters": [ - { - "name": "ad-set-id", - "in": "path", - "description": "Id of the Ad Set", - "required": true, - "style": "simple", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "List of Display Multipliers for all valid Categories associated to an Ad Set.", - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/AdSetDisplayMultiplierListResponse" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/AdSetDisplayMultiplierListResponse" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/AdSetDisplayMultiplierListResponse" - } - } - } - }, - "401": { - "description": "The API client is not properly authenticated.", - "content": { - "text/plain": { }, - "application/json": { }, - "text/json": { } - } - }, - "400": { - "description": "Bad Request", - "content": { - "text/plain": { }, - "application/json": { }, - "text/json": { } - } - }, - "403": { - "description": "The API client is not authorized to access this resource or the resource does not exist.", - "content": { - "text/plain": { }, - "application/json": { }, - "text/json": { } - } - } - } - }, - "patch": { - "tags": [ - "Campaign" - ], - "description": "Patch Display Multipliers for one or more Categories in a single request. Partial success policy is followed.", - "operationId": "PatchDisplayMultipliers", - "parameters": [ - { - "name": "ad-set-id", - "in": "path", - "description": "Id of the Ad Set", - "required": true, - "style": "simple", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json-patch+json": { - "schema": { - "$ref": "#/components/schemas/PatchAdSetDisplayMultiplierListRequest" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/PatchAdSetDisplayMultiplierListRequest" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/PatchAdSetDisplayMultiplierListRequest" - } - }, - "application/*+json": { - "schema": { - "$ref": "#/components/schemas/PatchAdSetDisplayMultiplierListRequest" - } - } - }, - "x-bodyName": "displayMultipliersToUpdate" - }, - "responses": { - "200": { - "description": "List of updated Display Multipliers for given Categories associated to an Ad Set.", - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/PatchAdSetDisplayMultiplierResultListResponse" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/PatchAdSetDisplayMultiplierResultListResponse" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/PatchAdSetDisplayMultiplierResultListResponse" - } - } - } - }, - "401": { - "description": "The API client is not properly authenticated.", - "content": { - "text/plain": { }, - "application/json": { }, - "text/json": { } - } - }, - "400": { - "description": "Bad Request", - "content": { - "text/plain": { }, - "application/json": { }, - "text/json": { } - } - }, - "403": { - "description": "The API client is not authorized to access this resource or the resource does not exist.", - "content": { - "text/plain": { }, - "application/json": { }, - "text/json": { } - } - } - } - } - }, - "/2023-04/marketing-solutions/ad-sets/{adSetId}": { - "get": { - "tags": [ - "Campaign" - ], - "description": "Get the data for the specified ad set", - "operationId": "GetAdSet", - "parameters": [ - { - "name": "adSetId", - "in": "path", - "description": "Id of the ad set", - "required": true, - "style": "simple", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "data for the ad set", - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ResponseReadAdSet" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/ResponseReadAdSet" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/ResponseReadAdSet" - } - } - } - }, - "401": { - "description": "The API client is not properly authenticated.", - "content": { - "text/plain": { }, - "application/json": { }, - "text/json": { } - } - }, - "403": { - "description": "The API client is not authorized to access this resource or the resource does not exist.", - "content": { - "text/plain": { }, - "application/json": { }, - "text/json": { } - } - } - }, - "deprecated": true - } - }, - "/2023-04/marketing-solutions/campaigns": { - "patch": { - "tags": [ - "Campaign" - ], - "description": "Patch a list of Campaigns.", - "operationId": "PatchCampaigns", - "requestBody": { - "description": "List of campaigns to patch.", - "content": { - "application/json-patch+json": { - "schema": { - "$ref": "#/components/schemas/PatchCampaignListRequest" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/PatchCampaignListRequest" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/PatchCampaignListRequest" - } - }, - "application/*+json": { - "schema": { - "$ref": "#/components/schemas/PatchCampaignListRequest" - } - } - }, - "x-bodyName": "request" - }, - "responses": { - "200": { - "description": "List of patched campaigns.", - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/PatchResultCampaignListResponse" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/PatchResultCampaignListResponse" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/PatchResultCampaignListResponse" - } - } - } - }, - "401": { - "description": "The API client is not properly authenticated.", - "content": { - "text/plain": { }, - "application/json": { }, - "text/json": { } - } - }, - "403": { - "description": "The API client is not authorized to access this resource or the resource does not exist.", - "content": { - "text/plain": { }, - "application/json": { }, - "text/json": { } - } - } - } - } - }, - "/2023-04/marketing-solutions/campaigns/search": { - "post": { - "tags": [ - "Campaign" - ], - "description": "Search for campaigns", - "operationId": "SearchCampaigns", - "requestBody": { - "description": "filters on campaigns", - "content": { - "application/json-patch+json": { - "schema": { - "$ref": "#/components/schemas/CampaignSearchRequest" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/CampaignSearchRequest" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/CampaignSearchRequest" - } - }, - "application/*+json": { - "schema": { - "$ref": "#/components/schemas/CampaignSearchRequest" - } - } - }, - "x-bodyName": "request" - }, - "responses": { - "200": { - "description": "data for the campaigns", - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/CampaignListResponse" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/CampaignListResponse" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/CampaignListResponse" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "text/plain": { }, - "application/json": { }, - "text/json": { } - } - }, - "403": { - "description": "Forbidden", - "content": { - "text/plain": { }, - "application/json": { }, - "text/json": { } - } - }, - "401": { - "description": "The API client is not properly authenticated.", - "content": { - "text/plain": { }, - "application/json": { }, - "text/json": { } - } - } - }, - "deprecated": true - } - }, - "/2023-04/marketing-solutions/campaigns/{campaign-id}": { - "get": { - "tags": [ - "Campaign" - ], - "description": "Get the data for the specified campaign", - "operationId": "GetCampaign", - "parameters": [ - { - "name": "campaign-id", - "in": "path", - "description": "Id of the campaign", - "required": true, - "style": "simple", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "data for the campaign", - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/CampaignResponse" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/CampaignResponse" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/CampaignResponse" - } - } - } - }, - "401": { - "description": "The API client is not properly authenticated.", - "content": { - "text/plain": { }, - "application/json": { }, - "text/json": { } - } - }, - "403": { - "description": "The API client is not authorized to access this resource or the resource does not exist.", - "content": { - "text/plain": { }, - "application/json": { }, - "text/json": { } - } - } - }, - "deprecated": true - } - }, - "/2023-04/log-level/advertisers/{advertiser-id}/report": { - "post": { - "tags": [ - "Analytics" - ], - "description": "This Statistics endpoint provides publisher data.", - "operationId": "GetTransparencyReport", - "parameters": [ - { - "name": "advertiser-id", - "in": "path", - "description": "The advertiser id to fetch the transparency data.", - "required": true, - "style": "simple", - "schema": { - "type": "integer", - "format": "int32" - } - } - ], - "requestBody": { - "content": { - "application/json-patch+json": { - "schema": { - "$ref": "#/components/schemas/TransparencyQueryMessage" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/TransparencyQueryMessage" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/TransparencyQueryMessage" - } - }, - "application/*+json": { - "schema": { - "$ref": "#/components/schemas/TransparencyQueryMessage" - } - } - }, - "x-bodyName": "queryMessage" - }, - "responses": { - "200": { - "description": "Success", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/TransparencyReportDataMessage" - }, - "example": { - "data": [ - { - "type": "TransparencyReport", - "attributes": { - "advertiserId": "123", - "tokenValidUntil": "2021-01-31T00:00:00.0000000+00:00", - "files": [ - { - "fileName": "report.csv", - "url": "https://www.example.com/transparency" - } - ] - } - } - ] - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/TransparencyReportDataMessage" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/TransparencyReportDataMessage" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemsDetails" - }, - "example": { - "errors": [ - { - "traceId": "b7888125-dddb-c94e-9240-eb930c4ea146", - "traceIdentifier": "1234e1717d88aa8a", - "type": "validation", - "code": "required-field", - "instance": "/report", - "title": "Start date and end date are required." - } - ] - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ProblemsDetails" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/ProblemsDetails" - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemsDetails" - }, - "example": { - "errors": [ - { - "traceId": "b7888125-dddb-c94e-9240-eb930c4ea146", - "traceIdentifier": "1234e1717d88aa8a", - "type": "access-control", - "code": "insufficient-advertiser-permission", - "instance": "/report", - "title": "Insufficient advertiser permission.", - "detail": "You do not have the rights to report on this advertiser." - } - ] - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ProblemsDetails" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/ProblemsDetails" - } - } - } - } - } - } - }, - "/2023-04/placements/report": { - "post": { - "tags": [ - "Analytics" - ], - "description": "Your ads are placed in different domains (publishers) and environments (websites and apps). Thanks to the placements endpoint, you can analyse the performances for each publisher, comparing displays, clicks and sales generated.", - "operationId": "GetPlacementsReport", - "requestBody": { - "content": { - "application/json-patch+json": { - "schema": { - "$ref": "#/components/schemas/PlacementsReportQueryDataMessage" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/PlacementsReportQueryDataMessage" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/PlacementsReportQueryDataMessage" - } - }, - "application/*+json": { - "schema": { - "$ref": "#/components/schemas/PlacementsReportQueryDataMessage" - } - } - }, - "x-bodyName": "dataMessage" - }, - "responses": { - "200": { - "description": "Success", - "content": { - "text/plain": { - "schema": { - "type": "string", - "format": "binary" - } - }, - "application/json": { - "schema": { - "type": "string", - "format": "binary" - } - }, - "text/json": { - "schema": { - "type": "string", - "format": "binary" - } - }, - "text/csv": { - "schema": { - "type": "string", - "format": "binary" - } - }, - "text/xml": { - "schema": { - "type": "string", - "format": "binary" - } - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": { - "schema": { - "type": "string", - "format": "binary" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemsDetails" - }, - "example": { - "errors": [ - { - "traceId": "b7888125-dddb-c94e-9240-eb930c4ea146", - "traceIdentifier": "1234e1717d88aa8a", - "type": "validation", - "code": "required-field", - "instance": "/report", - "title": "Start date and end date are required." - } - ] - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ProblemsDetails" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/ProblemsDetails" - } - }, - "text/csv": { - "schema": { - "$ref": "#/components/schemas/ProblemsDetails" - } - }, - "text/xml": { - "schema": { - "$ref": "#/components/schemas/ProblemsDetails" - } - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": { - "schema": { - "$ref": "#/components/schemas/ProblemsDetails" - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemsDetails" - }, - "example": { - "errors": [ - { - "traceId": "b7888125-dddb-c94e-9240-eb930c4ea146", - "traceIdentifier": "1234e1717d88aa8a", - "type": "access-control", - "code": "insufficient-advertiser-permission", - "instance": "/report", - "title": "Insufficient advertiser permission.", - "detail": "You do not have the rights to report on this advertiser." - } - ] - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ProblemsDetails" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/ProblemsDetails" - } - }, - "text/csv": { - "schema": { - "$ref": "#/components/schemas/ProblemsDetails" - } - }, - "text/xml": { - "schema": { - "$ref": "#/components/schemas/ProblemsDetails" - } - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": { - "schema": { - "$ref": "#/components/schemas/ProblemsDetails" - } - } - } - } - } - } - }, - "/2023-04/statistics/report": { - "post": { - "tags": [ - "Analytics" - ], - "description": "This Statistics endpoint provides adset related data. It is an upgrade of our previous Statistics endpoint, and includes new metrics and customization capabilities.", - "operationId": "GetAdsetReport", - "requestBody": { - "content": { - "application/json-patch+json": { - "schema": { - "$ref": "#/components/schemas/StatisticsReportQueryMessage" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/StatisticsReportQueryMessage" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/StatisticsReportQueryMessage" - } - }, - "application/*+json": { - "schema": { - "$ref": "#/components/schemas/StatisticsReportQueryMessage" - } - } - }, - "x-bodyName": "reportQuery" - }, - "responses": { - "200": { - "description": "Success", - "content": { - "text/plain": { - "schema": { - "type": "string", - "format": "binary" - } - }, - "application/json": { - "schema": { - "type": "string", - "format": "binary" - } - }, - "text/json": { - "schema": { - "type": "string", - "format": "binary" - } - }, - "text/csv": { - "schema": { - "type": "string", - "format": "binary" - } - }, - "text/xml": { - "schema": { - "type": "string", - "format": "binary" - } - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": { - "schema": { - "type": "string", - "format": "binary" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemsDetails" - }, - "example": { - "errors": [ - { - "traceId": "b7888125-dddb-c94e-9240-eb930c4ea146", - "traceIdentifier": "1234e1717d88aa8a", - "type": "validation", - "code": "required-field", - "instance": "/report", - "title": "Start date and end date are required." - } - ] - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ProblemsDetails" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/ProblemsDetails" - } - }, - "text/csv": { - "schema": { - "$ref": "#/components/schemas/ProblemsDetails" - } - }, - "text/xml": { - "schema": { - "$ref": "#/components/schemas/ProblemsDetails" - } - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": { - "schema": { - "$ref": "#/components/schemas/ProblemsDetails" - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemsDetails" - }, - "example": { - "errors": [ - { - "traceId": "b7888125-dddb-c94e-9240-eb930c4ea146", - "traceIdentifier": "1234e1717d88aa8a", - "type": "access-control", - "code": "insufficient-advertiser-permission", - "instance": "/report", - "title": "Insufficient advertiser permission.", - "detail": "You do not have the rights to report on this advertiser." - } - ] - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ProblemsDetails" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/ProblemsDetails" - } - }, - "text/csv": { - "schema": { - "$ref": "#/components/schemas/ProblemsDetails" - } - }, - "text/xml": { - "schema": { - "$ref": "#/components/schemas/ProblemsDetails" - } - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": { - "schema": { - "$ref": "#/components/schemas/ProblemsDetails" - } - } - } - } - } - } - }, - "/2023-04/transactions/report": { - "post": { - "tags": [ - "Analytics" - ], - "description": "This Transactions endpoint provides transactions id related data.", - "operationId": "GetTransactionsReport", - "requestBody": { - "content": { - "application/json-patch+json": { - "schema": { - "$ref": "#/components/schemas/TransactionsReportQueryDataMessage" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/TransactionsReportQueryDataMessage" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/TransactionsReportQueryDataMessage" - } - }, - "application/*+json": { - "schema": { - "$ref": "#/components/schemas/TransactionsReportQueryDataMessage" - } - } - }, - "x-bodyName": "dataMessage" - }, - "responses": { - "200": { - "description": "Success", - "content": { - "text/plain": { - "schema": { - "type": "string", - "format": "binary" - } - }, - "application/json": { - "schema": { - "type": "string", - "format": "binary" - } - }, - "text/json": { - "schema": { - "type": "string", - "format": "binary" - } - }, - "text/csv": { - "schema": { - "type": "string", - "format": "binary" - } - }, - "text/xml": { - "schema": { - "type": "string", - "format": "binary" - } - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": { - "schema": { - "type": "string", - "format": "binary" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemsDetails" - }, - "example": { - "errors": [ - { - "traceId": "b7888125-dddb-c94e-9240-eb930c4ea146", - "traceIdentifier": "1234e1717d88aa8a", - "type": "validation", - "code": "required-field", - "instance": "/report", - "title": "Start date and end date are required." - } - ] - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ProblemsDetails" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/ProblemsDetails" - } - }, - "text/csv": { - "schema": { - "$ref": "#/components/schemas/ProblemsDetails" - } - }, - "text/xml": { - "schema": { - "$ref": "#/components/schemas/ProblemsDetails" - } - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": { - "schema": { - "$ref": "#/components/schemas/ProblemsDetails" - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemsDetails" - }, - "example": { - "errors": [ - { - "traceId": "b7888125-dddb-c94e-9240-eb930c4ea146", - "traceIdentifier": "1234e1717d88aa8a", - "type": "access-control", - "code": "insufficient-advertiser-permission", - "instance": "/report", - "title": "Insufficient advertiser permission.", - "detail": "You do not have the rights to report on this advertiser." - } - ] - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/ProblemsDetails" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/ProblemsDetails" - } - }, - "text/csv": { - "schema": { - "$ref": "#/components/schemas/ProblemsDetails" - } - }, - "text/xml": { - "schema": { - "$ref": "#/components/schemas/ProblemsDetails" - } - }, - "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": { - "schema": { - "$ref": "#/components/schemas/ProblemsDetails" - } - } - } - } - } - } - }, - "/2023-04/advertisers/me": { - "get": { - "tags": [ - "Advertiser" - ], - "description": "Fetch the portfolio of Advertisers for this account", - "operationId": "ApiPortfolioGet", - "responses": { - "200": { - "description": "Success", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/GetPortfolioResponse" - }, - "example": { - "data": [ - { - "type": "advertiser", - "id": "13", - "attributes": { - "advertiserName": "ClientName1" - } - }, - { - "type": "advertiser", - "id": "1352", - "attributes": { - "advertiserName": "ClientName2" - } - }, - { - "type": "advertiser", - "id": "73550", - "attributes": { - "advertiserName": "ClientName3" - } - } - ], - "errors": [ ], - "warnings": [ ] - } - }, - "text/plain": { - "schema": { - "$ref": "#/components/schemas/GetPortfolioResponse" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/GetPortfolioResponse" - } - } - } - }, - "401": { - "description": "Unauthorized", - "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/GetPortfolioResponse" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/GetPortfolioResponse" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/GetPortfolioResponse" - } - } - } - } - } - } - } - }, - "components": { - "schemas": { - "GetAudiencesResponse": { - "required": [ - "data", - "errors", - "warnings" - ], - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Audience" - } - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AudienceError" - } - }, - "warnings": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AudienceWarning" - } - } - }, - "description": "Body of the GET audience operation" - }, - "ErrorCodeResponse": { - "required": [ - "errors" - ], - "type": "object", - "properties": { - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AudienceError" - } - }, - "warnings": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AudienceWarning" - }, - "nullable": true - } - }, - "description": "Definition of the error code" - }, - "NewAudienceResponse": { - "required": [ - "data", - "errors", - "warnings" - ], - "type": "object", - "properties": { - "data": { - "$ref": "#/components/schemas/BasicAudienceDefinition" - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AudienceError" - } - }, - "warnings": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AudienceWarning" - } - } - }, - "description": "Response of a newly created audience" - }, - "DeleteAudienceResponse": { - "required": [ - "data", - "errors", - "warnings" - ], - "type": "object", - "properties": { - "data": { - "$ref": "#/components/schemas/BasicAudienceDefinition" - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AudienceError" - } - }, - "warnings": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AudienceWarning" - } - } - }, - "description": "Response of an audience deletion" - }, - "ReplaceAudienceResponse": { - "required": [ - "data", - "errors", - "warnings" - ], - "type": "object", - "properties": { - "data": { - "$ref": "#/components/schemas/BasicAudienceDefinition" - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AudienceError" - } - }, - "warnings": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AudienceWarning" - } - } - }, - "description": "Response of an audience replacement" - }, - "DeleteAudienceContactListResponse": { - "required": [ - "data", - "errors", - "warnings" - ], - "type": "object", - "properties": { - "data": { - "$ref": "#/components/schemas/BasicAudienceDefinition" - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AudienceError" - } - }, - "warnings": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AudienceWarning" - } - } - }, - "description": "Response of a contactlist deletion" - }, - "ModifyAudienceResponse": { - "required": [ - "data", - "errors", - "warnings" - ], - "type": "object", - "properties": { - "data": { - "$ref": "#/components/schemas/ContactlistOperation" - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AudienceError" - } - }, - "warnings": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AudienceWarning" - } - } - }, - "description": "Parameters to modify an audience" - }, - "NewAudienceRequest": { - "type": "object", - "properties": { - "data": { - "$ref": "#/components/schemas/NewAudience" - } - }, - "description": "Body of creation of a new audience" - }, - "ReplaceAudienceRequest": { - "required": [ - "data" - ], - "type": "object", - "properties": { - "data": { - "$ref": "#/components/schemas/ReplaceAudience" - } - }, - "description": "Request to replace an audience" - }, - "ContactlistAmendmentRequest": { - "required": [ - "data" - ], - "type": "object", - "properties": { - "data": { - "$ref": "#/components/schemas/ContactlistAmendment" - } - }, - "description": "Request for a contactlist amendment" - }, - "Audience": { - "required": [ - "attributes", - "id", - "type" - ], - "type": "object", - "properties": { - "type": { - "type": "string", - "description": "the name of the entity type", - "example": "Audience" - }, - "id": { - "type": "string", - "description": "id of the Audience", - "example": "314159" - }, - "attributes": { - "required": [ - "created", - "description", - "name", - "updated" - ], - "type": "object", - "properties": { - "advertiserId": { - "type": "string", - "description": "The advertiser id that owns this Audience", - "format": "int32", - "nullable": true - }, - "name": { - "type": "string", - "description": "The name of the Audience" - }, - "description": { - "type": "string", - "description": "The string description of the Audience" - }, - "created": { - "type": "string", - "description": "Date and time ISO 8601 formatted string", - "format": "date-time" - }, - "updated": { - "type": "string", - "description": "Date and time ISO 8601 formatted string", - "format": "date-time" - }, - "nbLines": { - "type": "integer", - "description": "The number of line in the audience available once processed", - "nullable": true - }, - "nbLinesEmail": { - "type": "integer", - "description": "The number of email line in the audience available once processed", - "nullable": true - }, - "nbMatchesEmail": { - "type": "integer", - "description": "The number of email matches in the audience available once processed", - "nullable": true - } - } - } - }, - "description": "Definition of an audience and all its information" - }, - "AudienceError": { - "required": [ - "code", - "instance", - "type" - ], - "type": "object", - "properties": { - "traceId": { - "type": "string", - "description": "(REQUIRED) The Correlation ID provided by the Gateway. It is also a unique identifier for this particular occurrence of the problem.", - "nullable": true - }, - "type": { - "enum": [ - "access-control", - "authentication", - "authorization", - "availability", - "deprecation", - "quota", - "validation" - ], - "type": "string", - "description": "(REQUIRED) The classification of the error" - }, - "code": { - "type": "string", - "description": "(REQUIRED) A machine-readable unique error code, expressed as a string value. The format used must be kebab-case." - }, - "instance": { - "type": "string", - "description": "(REQUIRED) A URI reference that identifies the specific occurrence of the problem" - }, - "title": { - "type": "string", - "description": "(RECOMMENDED) A short, human-readable summary of the problem type", - "nullable": true - }, - "detail": { - "type": "string", - "description": "(RECOMMENDED) A human-readable explanation specific to this occurrence of the problem", - "nullable": true - }, - "source": { - "type": "object", - "description": "(OPTIONAL) A machine-readable structure to reference to the exact location(s) causing the error(s)", - "nullable": true - }, - "stackTrace": { - "type": "array", - "items": { - "type": "string" - }, - "description": "(NEVER IN PRODUCTION) A human-readable stacktrace produced by the implementation technology", - "nullable": true - } - }, - "description": "Definition of an audience error" - }, - "AudienceWarning": { - "required": [ - "code", - "detail", - "instance", - "type" - ], - "type": "object", - "properties": { - "traceId": { - "type": "string", - "description": "(REQUIRED) The Correlation ID provided by the Gateway. It is also a unique identifier for this particular occurrence of the problem.", - "nullable": true - }, - "type": { - "enum": [ - "access-control", - "authentication", - "authorization", - "availability", - "deprecation", - "quota", - "validation" - ], - "type": "string", - "description": "(REQUIRED) The classification of the error" - }, - "code": { - "type": "string", - "description": "(REQUIRED) A machine-readable unique error code, expressed as a string value. The format used must be kebab-case." - }, - "instance": { - "type": "string", - "description": "(REQUIRED) A URI reference that identifies the specific occurrence of the problem" - }, - "title": { - "type": "string", - "description": "(RECOMMENDED) A short, human-readable summary of the problem type", - "nullable": true - }, - "detail": { - "type": "string", - "description": "(REQUIRED) A human-readable explanation specific to this occurrence of the problem" - }, - "source": { - "type": "object", - "description": "(OPTIONAL) A machine-readable structure to reference to the exact location(s) causing the error(s)", - "nullable": true - }, - "stackTrace": { - "type": "array", - "items": { - "type": "string" - }, - "description": "(NEVER IN PRODUCTION) A human-readable stacktrace produced by the implementation technology", - "nullable": true - } - }, - "description": "Definition of the warning" - }, - "BasicAudienceDefinition": { - "required": [ - "id", - "type" - ], - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "the id of the entity type" - }, - "type": { - "type": "string", - "description": "the name of the entity type" - }, - "attributes": { - "$ref": "#/components/schemas/AudienceNameDescription" - } - }, - "description": "Common definition of an audience" - }, - "ContactlistOperation": { - "required": [ - "attributes", - "type" - ], - "type": "object", - "properties": { - "type": { - "type": "string", - "description": "the name of the entity type" - }, - "attributes": { - "required": [ - "operation" - ], - "type": "object", - "properties": { - "contactListId": { - "type": "integer", - "description": "the affected user list id", - "nullable": true - }, - "operation": { - "type": "string", - "description": "The action recorded" - }, - "requestDate": { - "type": "string", - "description": "When the action was recorded", - "format": "date-time", - "nullable": true - }, - "identifierType": { - "type": "string", - "description": "The schema specified for of the identifiers", - "nullable": true - }, - "nbValidIdentifiers": { - "type": "integer", - "description": "How many identifiers were valid for the specified schema", - "nullable": true - }, - "nbInvalidIdentifiers": { - "type": "integer", - "description": "How many identifiers were invalid for the specified schema", - "nullable": true - }, - "sampleInvalidIdentifiers": { - "type": "array", - "items": { - "type": "string" - }, - "description": "A sample of invalid identifiers if there is some", - "nullable": true - } - }, - "description": "the contactlist operation attributes" - } - }, - "description": "Response definition of a contactlist operation" - }, - "NewAudience": { - "required": [ - "attributes", - "type" - ], - "type": "object", - "properties": { - "type": { - "type": "string", - "description": "the name of the entity type", - "example": "Audience" - }, - "attributes": { - "required": [ - "name" - ], - "type": "object", - "properties": { - "advertiserId": { - "type": "string", - "description": "The advertiser id to create the audience for", - "nullable": true - }, - "name": { - "type": "string", - "description": "The name of the new audience" - }, - "description": { - "type": "string", - "description": "The description of the audience", - "nullable": true - } - } - } - }, - "description": "Body for the creation of a new audience (name, advertiserId, etc)" - }, - "ReplaceAudience": { - "required": [ - "attributes", - "type" - ], - "type": "object", - "properties": { - "type": { - "type": "string", - "description": "the name of the entity type", - "example": "Audience" - }, - "attributes": { - "$ref": "#/components/schemas/AudienceNameDescription" - } - }, - "description": "Parameters required to replace an audience" - }, - "ContactlistAmendment": { - "required": [ - "attributes", - "type" - ], - "type": "object", - "properties": { - "type": { - "type": "string", - "description": "User List", - "example": "ContactlistAmendment" - }, - "attributes": { - "required": [ - "identifiers", - "operation" - ], - "type": "object", - "properties": { - "operation": { - "enum": [ - "add", - "remove" - ], - "type": "string", - "description": "Operation to add or remove users" - }, - "identifierType": { - "enum": [ - "email", - "madid", - "identityLink", - "gum", - "customerid" - ], - "type": "string", - "description": "What type of identifiers are used", - "nullable": true - }, - "identifiers": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The users tos add or remove, each in the schema specified" - }, - "gumCallerId": { - "type": "integer", - "description": "The Gum caller id of the advertiser patching identifiers of type Gum", - "nullable": true - } - }, - "description": "the name of the entity type" - } - }, - "description": "Parameters for the amendment of a contactlist" - }, - "AudienceNameDescription": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The name to designate the audience by", - "nullable": true - }, - "description": { - "type": "string", - "description": "The description of the audience", - "nullable": true - } - }, - "description": "Description of an audience with name and detailed description" - }, - "ApplicationSummaryModelResponse": { - "type": "object", - "properties": { - "data": { - "$ref": "#/components/schemas/ApplicationSummaryModelResource" - }, - "warnings": { - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/components/schemas/CommonProblem" - }, - "nullable": true, - "readOnly": true - }, - "errors": { - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/components/schemas/CommonProblem" - }, - "nullable": true, - "readOnly": true - } - }, - "description": "Response of ApplicationSummaryModel" - }, - "ApplicationSummaryModelResource": { - "type": "object", - "properties": { - "type": { - "type": "string", - "nullable": true - }, - "attributes": { - "$ref": "#/components/schemas/ApplicationSummaryModel" - } - }, - "description": "A class that represents a ValueType in a guild compliant way" - }, - "CommonProblem": { - "type": "object", - "properties": { - "traceId": { - "type": "string", - "description": "The request correlation ID this problem comes from.", - "nullable": true - }, - "traceIdentifier": { - "type": "string", - "description": "The request correlation ID this problem comes from. (deprecated, use traceId instead)", - "nullable": true - }, - "type": { - "enum": [ - "unknown", - "access-control", - "authentication", - "authorization", - "availability", - "deprecation", - "quota", - "validation" - ], - "type": "string", - "description": "The problem's category.", - "nullable": true - }, - "code": { - "type": "string", - "description": "A machine-readable error code, expressed as a string value.", - "nullable": true - }, - "instance": { - "type": "string", - "description": "A URI that identifies the specific occurrence of the problem.", - "nullable": true - }, - "title": { - "type": "string", - "description": "A short human-readable description of the problem type", - "nullable": true - }, - "detail": { - "type": "string", - "description": "A human-readable explanation specific to this occurrence of the problem", - "nullable": true - }, - "source": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "A machine-readable structure to reference to the exact location(s) causing the error(s)", - "nullable": true - }, - "stackTrace": { - "type": "string", - "nullable": true - } - }, - "description": "Common problem object. Can be specialized as needed." - }, - "ApplicationSummaryModel": { - "type": "object", - "properties": { - "applicationId": { - "type": "integer", - "format": "int32", - "nullable": true - }, - "name": { - "type": "string", - "nullable": true - }, - "organizationId": { - "type": "integer", - "format": "int32", - "nullable": true - }, - "description": { - "type": "string", - "nullable": true - }, - "criteoService": { - "type": "string", - "nullable": true - } - }, - "description": "Model of ApplicationSummary" - }, - "ResponsesAdSetId": { - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ReadModelAdSetId" - }, - "nullable": true, - "readOnly": true, - "x-nullable": true - }, - "warnings": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CommonProblem" - }, - "nullable": true, - "readOnly": true, - "x-nullable": true - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CommonProblem" - }, - "nullable": true, - "readOnly": true, - "x-nullable": true - } - }, - "description": "List of output resources" - }, - "ResponsesReadAdSet": { - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ReadModelReadAdSet" - }, - "nullable": true, - "readOnly": true, - "x-nullable": true - }, - "warnings": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CommonProblem" - }, - "nullable": true, - "readOnly": true, - "x-nullable": true - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CommonProblem" - }, - "nullable": true, - "readOnly": true, - "x-nullable": true - } - }, - "description": "List of output resources" - }, - "AdSetCategoryBidListResponse": { - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AdSetCategoryBidResource" - }, - "nullable": true, - "x-nullable": true - }, - "warnings": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CommonProblem" - }, - "nullable": true, - "readOnly": true, - "x-nullable": true - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CommonProblem" - }, - "nullable": true, - "readOnly": true, - "x-nullable": true - } - }, - "description": "Data model for a list of response resources" - }, - "PatchAdSetCategoryBidResultListResponse": { - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PatchAdSetCategoryBidResultResource" - }, - "nullable": true, - "x-nullable": true - }, - "warnings": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CommonProblem" - }, - "nullable": true, - "readOnly": true, - "x-nullable": true - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CommonProblem" - }, - "nullable": true, - "readOnly": true, - "x-nullable": true - } - }, - "description": "Data model for a list of response resources" - }, - "AdSetDisplayMultiplierListResponse": { - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AdSetDisplayMultiplierResource" - }, - "nullable": true, - "x-nullable": true - }, - "warnings": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CommonProblem" - }, - "nullable": true, - "readOnly": true, - "x-nullable": true - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CommonProblem" - }, - "nullable": true, - "readOnly": true, - "x-nullable": true - } - }, - "description": "Data model for a list of response resources" - }, - "PatchAdSetDisplayMultiplierResultListResponse": { - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PatchAdSetDisplayMultiplierResultResource" - }, - "nullable": true, - "x-nullable": true - }, - "warnings": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CommonProblem" - }, - "nullable": true, - "readOnly": true, - "x-nullable": true - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CommonProblem" - }, - "nullable": true, - "readOnly": true, - "x-nullable": true - } - }, - "description": "Data model for a list of response resources" - }, - "ResponseReadAdSet": { - "type": "object", - "properties": { - "data": { - "$ref": "#/components/schemas/ReadModelReadAdSet" - }, - "warnings": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CommonProblem" - }, - "nullable": true, - "readOnly": true, - "x-nullable": true - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CommonProblem" - }, - "nullable": true, - "readOnly": true, - "x-nullable": true - } - }, - "description": "output resource" - }, - "PatchResultCampaignListResponse": { - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PatchResultCampaignReadResource" - }, - "nullable": true, - "readOnly": true, - "x-nullable": true - }, - "warnings": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CommonProblem" - }, - "nullable": true, - "readOnly": true, - "x-nullable": true - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CommonProblem" - }, - "nullable": true, - "readOnly": true, - "x-nullable": true - } - }, - "description": "List of output resources" - }, - "CampaignListResponse": { - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CampaignReadResource" - }, - "nullable": true, - "readOnly": true, - "x-nullable": true - }, - "warnings": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CommonProblem" - }, - "nullable": true, - "readOnly": true, - "x-nullable": true - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CommonProblem" - }, - "nullable": true, - "readOnly": true, - "x-nullable": true - } - }, - "description": "List of output resources" - }, - "CampaignResponse": { - "type": "object", - "properties": { - "data": { - "$ref": "#/components/schemas/CampaignReadResource" - }, - "warnings": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CommonProblem" - }, - "nullable": true, - "readOnly": true, - "x-nullable": true - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CommonProblem" - }, - "nullable": true, - "readOnly": true, - "x-nullable": true - } - }, - "description": "output resource" - }, - "RequestsPatchAdSet": { - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/WriteModelPatchAdSet" - }, - "nullable": true, - "x-nullable": true - } - }, - "description": "List of input resources" - }, - "RequestAdSetSearch": { - "type": "object", - "properties": { - "filters": { - "$ref": "#/components/schemas/AdSetSearchFilter" - } - }, - "description": "request payload of the search endpoint" - }, - "RequestsAdSetId": { - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/WriteModelAdSetId" - }, - "nullable": true, - "x-nullable": true - } - }, - "description": "List of input resources" - }, - "PatchAdSetCategoryBidListRequest": { - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PatchAdSetCategoryBidResource" - }, - "nullable": true, - "x-nullable": true - } - }, - "description": "Data model for a list of input resources" - }, - "PatchAdSetDisplayMultiplierListRequest": { - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PatchAdSetDisplayMultiplierResource" - }, - "nullable": true, - "x-nullable": true - } - }, - "description": "Data model for a list of input resources" - }, - "PatchCampaignListRequest": { - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PatchCampaignWriteResource" - }, - "nullable": true, - "x-nullable": true - } - }, - "description": "List of input resources" - }, - "CampaignSearchRequest": { - "type": "object", - "properties": { - "filters": { - "$ref": "#/components/schemas/CampaignSearchFilters" - } - }, - "description": "request payload of the search endpoint" - }, - "ReadModelAdSetId": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Id of the entity", - "nullable": true, - "readOnly": true, - "x-nullable": true - }, - "type": { - "type": "string", - "nullable": true, - "readOnly": true, - "example": "AdSetId", - "x-nullable": true - } - }, - "description": "read model data for resources" - }, - "ReadModelReadAdSet": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Id of the entity", - "nullable": true, - "readOnly": true, - "x-nullable": true - }, - "type": { - "type": "string", - "nullable": true, - "readOnly": true, - "example": "ReadAdSet", - "x-nullable": true - }, - "attributes": { - "$ref": "#/components/schemas/ReadAdSet" - } - }, - "description": "read model data for resources" - }, - "AdSetCategoryBidResource": { - "type": "object", - "properties": { - "attributes": { - "$ref": "#/components/schemas/AdSetCategoryBid" - }, - "id": { - "type": "string", - "description": "Id of the entity", - "nullable": true - }, - "type": { - "type": "string", - "description": "Canonical type name of the entity", - "nullable": true, - "example": "AdSetCategoryBid" - } - }, - "description": "Data model for a Resource" - }, - "PatchAdSetCategoryBidResultResource": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Id of the entity", - "nullable": true - }, - "type": { - "type": "string", - "description": "Canonical type name of the entity", - "nullable": true, - "example": "AdSetCategoryBid" - } - }, - "description": "Data model for a Resource" - }, - "AdSetDisplayMultiplierResource": { - "type": "object", - "properties": { - "attributes": { - "$ref": "#/components/schemas/AdSetDisplayMultiplier" - }, - "id": { - "type": "string", - "description": "Id of the entity", - "nullable": true - }, - "type": { - "type": "string", - "description": "Canonical type name of the entity", - "nullable": true, - "example": "AdSetDisplayMultiplier" - } - }, - "description": "Data model for a Resource" - }, - "PatchAdSetDisplayMultiplierResultResource": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Id of the entity", - "nullable": true - }, - "type": { - "type": "string", - "description": "Canonical type name of the entity", - "nullable": true, - "example": "AdSetDisplayMultiplier" - } - }, - "description": "Data model for a Resource" - }, - "PatchResultCampaignReadResource": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Id of the entity", - "nullable": true, - "readOnly": true, - "x-nullable": true - }, - "type": { - "type": "string", - "nullable": true, - "readOnly": true, - "example": "Campaign", - "x-nullable": true - } - }, - "description": "read model data for resources" - }, - "CampaignReadResource": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Id of the entity", - "nullable": true, - "readOnly": true, - "x-nullable": true - }, - "type": { - "type": "string", - "nullable": true, - "readOnly": true, - "example": "Campaign", - "x-nullable": true - }, - "attributes": { - "$ref": "#/components/schemas/Campaign" - } - }, - "description": "read model data for resources" - }, - "WriteModelPatchAdSet": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Id of the entity", - "nullable": true, - "x-nullable": true - }, - "type": { - "type": "string", - "description": "Canonical type name of the entity", - "nullable": true, - "example": "PatchAdSet", - "x-nullable": true - }, - "attributes": { - "$ref": "#/components/schemas/PatchAdSet" - } - }, - "description": "write model data for resources" - }, - "AdSetSearchFilter": { - "type": "object", - "properties": { - "adSetIds": { - "type": "array", - "items": { - "type": "string" - }, - "nullable": true, - "x-nullable": true - }, - "advertiserIds": { - "type": "array", - "items": { - "type": "string" - }, - "nullable": true, - "x-nullable": true - }, - "campaignIds": { - "type": "array", - "items": { - "type": "string" - }, - "nullable": true, - "x-nullable": true - } - }, - "description": "filter on ad set ids" - }, - "WriteModelAdSetId": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Id of the entity", - "nullable": true, - "x-nullable": true - }, - "type": { - "type": "string", - "description": "Canonical type name of the entity", - "nullable": true, - "example": "AdSetId", - "x-nullable": true - } - }, - "description": "write model data for resources" - }, - "PatchAdSetCategoryBidResource": { - "type": "object", - "properties": { - "attributes": { - "$ref": "#/components/schemas/PatchAdSetCategoryBid" - }, - "id": { - "type": "string", - "description": "Id of the entity", - "nullable": true - }, - "type": { - "type": "string", - "description": "Canonical type name of the entity", - "nullable": true, - "example": "AdSetCategoryBid" - } - }, - "description": "Data model for a Resource" - }, - "PatchAdSetDisplayMultiplierResource": { - "type": "object", - "properties": { - "attributes": { - "$ref": "#/components/schemas/PatchAdSetDisplayMultiplier" - }, - "id": { - "type": "string", - "description": "Id of the entity", - "nullable": true - }, - "type": { - "type": "string", - "description": "Canonical type name of the entity", - "nullable": true, - "example": "AdSetDisplayMultiplier" - } - }, - "description": "Data model for a Resource" - }, - "PatchCampaignWriteResource": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Id of the entity", - "nullable": true, - "x-nullable": true - }, - "type": { - "type": "string", - "description": "Canonical type name of the entity", - "nullable": true, - "example": "Campaign", - "x-nullable": true - }, - "attributes": { - "$ref": "#/components/schemas/PatchCampaign" - } - }, - "description": "write model data for resources" - }, - "CampaignSearchFilters": { - "type": "object", - "properties": { - "campaignIds": { - "type": "array", - "items": { - "type": "string" - }, - "nullable": true, - "x-nullable": true - }, - "advertiserIds": { - "type": "array", - "items": { - "type": "string" - }, - "nullable": true, - "x-nullable": true - } - }, - "description": "filters on campaign" - }, - "ReadAdSet": { - "type": "object", - "properties": { - "name": { - "type": "string", - "nullable": true, - "x-nullable": true - }, - "advertiserId": { - "type": "string", - "nullable": true, - "x-nullable": true - }, - "datasetId": { - "type": "string", - "nullable": true, - "x-nullable": true - }, - "campaignId": { - "type": "string", - "nullable": true, - "x-nullable": true - }, - "destinationEnvironment": { - "enum": [ - "undefined", - "web", - "app" - ], - "type": "string", - "nullable": true - }, - "schedule": { - "$ref": "#/components/schemas/ReadAdSetSchedule" - }, - "bidding": { - "$ref": "#/components/schemas/ReadAdSetBidding" - }, - "targeting": { - "$ref": "#/components/schemas/AdSetTargeting" - }, - "budget": { - "$ref": "#/components/schemas/ReadAdSetBudget" - }, - "mediaType": { - "enum": [ - "display", - "video" - ], - "type": "string", - "nullable": true, - "x-nullable": true - } - }, - "description": "ad set read model" - }, - "AdSetCategoryBid": { - "type": "object", - "properties": { - "categoryName": { - "type": "string", - "description": "The name of the Category to which the Category Bid has been applied.", - "nullable": true, - "x-nullable": true - }, - "bidAmount": { - "type": "number", - "description": "The Bid amount applied to the given Category associated to an Ad Set. At most 4 decimals are supported. Additional decimals are rounded.", - "format": "double", - "nullable": true - } - }, - "description": "Category Bid information about a Category for a given Ad Set." - }, - "AdSetDisplayMultiplier": { - "type": "object", - "properties": { - "categoryName": { - "type": "string", - "description": "The name of the Category to which the given for which the Display Multiplier has been applied.", - "nullable": true, - "x-nullable": true - }, - "displayMultiplier": { - "type": "number", - "description": "The Display Multiplier applied to the given Category associated to an Ad Set.", - "format": "double", - "nullable": true - } - }, - "description": "Display Multiplier information about a Category for a given Ad Set." - }, - "Campaign": { - "type": "object", - "properties": { - "name": { - "type": "string", - "nullable": true, - "x-nullable": true - }, - "advertiserId": { - "type": "string", - "nullable": true, - "x-nullable": true - }, - "objective": { - "type": "string", - "nullable": true, - "x-nullable": true - }, - "spendLimit": { - "$ref": "#/components/schemas/CampaignSpendLimit" - }, - "goal": { - "enum": [ - "Unspecified", - "Acquisition", - "Retention" - ], - "type": "string", - "nullable": true - } - }, - "description": "campaign read model" - }, - "PatchAdSet": { - "type": "object", - "properties": { - "name": { - "type": "string", - "nullable": true, - "x-nullable": true - }, - "scheduling": { - "$ref": "#/components/schemas/PatchAdSetScheduling" - }, - "bidding": { - "$ref": "#/components/schemas/PatchAdSetBidding" - }, - "targeting": { - "$ref": "#/components/schemas/AdSetTargeting" - }, - "budget": { - "$ref": "#/components/schemas/PatchAdSetBudget" - } - }, - "description": "ad set patch model" - }, - "PatchAdSetCategoryBid": { - "type": "object", - "properties": { - "bidAmount": { - "type": "number", - "description": "The Bid amount applied to the given Category associated to an Ad Set. At most 4 decimals are supported. Additional decimals are rounded.", - "format": "double", - "nullable": true - } - }, - "description": "Category Bid to update for a given combination of Ad Set and Category." - }, - "PatchAdSetDisplayMultiplier": { - "type": "object", - "properties": { - "displayMultiplier": { - "type": "number", - "description": "Any positive decimal value. To remove the impact of the Display Multiplier set it to 1. At most 4 decimals are supported. Additional decimals are rounded.", - "format": "double", - "nullable": true - } - }, - "description": "Display Multiplier to update for a given combination of Ad Set and Category." - }, - "PatchCampaign": { - "type": "object", - "properties": { - "spendLimit": { - "$ref": "#/components/schemas/PatchCampaignSpendLimit" - } - }, - "description": "campaign patch model" - }, - "ReadAdSetSchedule": { - "type": "object", - "properties": { - "startDate": { - "$ref": "#/components/schemas/NillableDateTime" - }, - "endDate": { - "$ref": "#/components/schemas/NillableDateTime" - }, - "activationStatus": { - "enum": [ - "on", - "off" - ], - "type": "string", - "nullable": true - }, - "deliveryStatus": { - "enum": [ - "draft", - "inactive", - "live", - "notLive", - "pausing", - "paused", - "scheduled", - "ended", - "notDelivering", - "archived" - ], - "type": "string", - "nullable": true - } - }, - "description": "ad set schedule read model" - }, - "ReadAdSetBidding": { - "type": "object", - "properties": { - "bidAmount": { - "$ref": "#/components/schemas/NillableDecimal" - }, - "bidStrategy": { - "enum": [ - "actions", - "clicks", - "conversions", - "displays", - "installs", - "revenue", - "storeConversions", - "value", - "viewedImpressions", - "Visits", - "completedVideoViews" - ], - "type": "string", - "description": "The intended optimization for the Ad Set", - "nullable": true - }, - "costController": { - "enum": [ - "COS", - "CPC", - "CPI", - "CPM", - "CPO", - "CPSV", - "CPV", - "dailyBudget" - ], - "type": "string", - "description": "How spend is controlled", - "nullable": true - } - }, - "description": "ad set bidding read model" - }, - "AdSetTargeting": { - "type": "object", - "properties": { - "deliveryLimitations": { - "$ref": "#/components/schemas/AdSetDeliveryLimitations" - }, - "geoLocation": { - "$ref": "#/components/schemas/AdSetGeoLocation" - }, - "frequencyCapping": { - "$ref": "#/components/schemas/AdSetFrequencyCapping" - } - }, - "description": "ad set targeting model" - }, - "ReadAdSetBudget": { - "type": "object", - "properties": { - "budgetStrategy": { - "enum": [ - "capped", - "uncapped" - ], - "type": "string", - "nullable": true - }, - "budgetRenewal": { - "enum": [ - "undefined", - "daily", - "monthly", - "lifetime" - ], - "type": "string", - "nullable": true - }, - "budgetDeliverySmoothing": { - "enum": [ - "accelerated", - "standard" - ], - "type": "string", - "nullable": true, - "x-nullable": true - }, - "budgetDeliveryWeek": { - "enum": [ - "undefined", - "mondayToSunday", - "tuesdayToMonday", - "wednesdayToTuesday", - "thursdayToWednesday", - "fridayToThursday", - "saturdayToFriday", - "sundayToSaturday" - ], - "type": "string", - "nullable": true - }, - "budgetAmount": { - "$ref": "#/components/schemas/NillableDecimal" - } - }, - "description": "ad set budget read model" - }, - "CampaignSpendLimit": { - "type": "object", - "properties": { - "spendLimitType": { - "enum": [ - "capped", - "uncapped" - ], - "type": "string", - "nullable": true - }, - "spendLimitRenewal": { - "enum": [ - "undefined", - "daily", - "monthly", - "lifetime" - ], - "type": "string", - "nullable": true - }, - "spendLimitAmount": { - "$ref": "#/components/schemas/NillableDecimal" - } - }, - "description": "campaign spend limit model" - }, - "PatchAdSetScheduling": { - "type": "object", - "properties": { - "startDate": { - "$ref": "#/components/schemas/NillableDateTime" - }, - "endDate": { - "$ref": "#/components/schemas/NillableDateTime" - } - }, - "description": "ad set schedule patch model" - }, - "PatchAdSetBidding": { - "type": "object", - "properties": { - "bidAmount": { - "$ref": "#/components/schemas/NillableDecimal" - } - }, - "description": "ad set bidding patch model" - }, - "PatchAdSetBudget": { - "type": "object", - "properties": { - "budgetStrategy": { - "enum": [ - "capped", - "uncapped" - ], - "type": "string", - "nullable": true, - "x-nullable": true - }, - "budgetRenewal": { - "enum": [ - "undefined", - "daily", - "monthly", - "lifetime" - ], - "type": "string", - "nullable": true, - "x-nullable": true - }, - "budgetDeliverySmoothing": { - "enum": [ - "accelerated", - "standard" - ], - "type": "string", - "nullable": true, - "x-nullable": true - }, - "budgetDeliveryWeek": { - "enum": [ - "undefined", - "mondayToSunday", - "tuesdayToMonday", - "wednesdayToTuesday", - "thursdayToWednesday", - "fridayToThursday", - "saturdayToFriday", - "sundayToSaturday" - ], - "type": "string", - "nullable": true, - "x-nullable": true - }, - "budgetAmount": { - "$ref": "#/components/schemas/NillableDecimal" - } - }, - "description": "ad set budget patch model" - }, - "PatchCampaignSpendLimit": { - "type": "object", - "properties": { - "spendLimitType": { - "enum": [ - "capped", - "uncapped" - ], - "type": "string", - "nullable": true, - "x-nullable": true - }, - "spendLimitRenewal": { - "enum": [ - "undefined", - "daily", - "monthly", - "lifetime" - ], - "type": "string", - "nullable": true, - "x-nullable": true - }, - "spendLimitAmount": { - "$ref": "#/components/schemas/NillableDecimal" - } - }, - "description": "campaign spend limit model" - }, - "NillableDateTime": { - "type": "object", - "properties": { - "value": { - "type": "string", - "format": "date-time", - "nullable": true, - "x-nullable": true - } - }, - "description": "structure that encapsulates an object that have valid business null values. If the structure is provided (i.e. not null), then the value in it, even null, is provided." - }, - "NillableDecimal": { - "type": "object", - "properties": { - "value": { - "type": "number", - "format": "double", - "nullable": true, - "x-nullable": true - } - }, - "description": "structure that encapsulates an object that have valid business null values. If the structure is provided (i.e. not null), then the value in it, even null, is provided.", - "nullable": true, - "x-nullable": true - }, - "AdSetDeliveryLimitations": { - "type": "object", - "properties": { - "environments": { - "type": "array", - "items": { - "enum": [ - "web", - "inApp" - ], - "type": "string" - }, - "nullable": true, - "x-nullable": true - }, - "devices": { - "type": "array", - "items": { - "enum": [ - "other", - "desktop", - "mobile", - "tablet" - ], - "type": "string" - }, - "nullable": true, - "x-nullable": true - }, - "operatingSystems": { - "type": "array", - "items": { - "enum": [ - "android", - "ios", - "unknown" - ], - "type": "string" - }, - "nullable": true, - "x-nullable": true - } - }, - "description": "ad set delivery limitations model" - }, - "AdSetGeoLocation": { - "type": "object", - "properties": { - "countries": { - "$ref": "#/components/schemas/NillableAdSetTargetingRule" - }, - "subdivisions": { - "$ref": "#/components/schemas/NillableAdSetTargetingRule" - }, - "zipCodes": { - "$ref": "#/components/schemas/NillableAdSetTargetingRule" - } - }, - "description": "ad set geolocation model" - }, - "AdSetFrequencyCapping": { - "type": "object", - "properties": { - "frequency": { - "enum": [ - "hourly", - "daily", - "lifetime", - "advanced" - ], - "type": "string", - "nullable": true - }, - "maximumImpressions": { - "type": "integer", - "format": "int32", - "nullable": true - } - }, - "description": "ad set frequency capping model" - }, - "NillableAdSetTargetingRule": { - "type": "object", - "properties": { - "value": { - "type": "object", - "allOf": [ - { - "$ref": "#/components/schemas/AdSetTargetingRule" - } - ], - "nullable": true, - "x-nullable": true - } - }, - "description": "structure that encapsulates an object that have valid business null values. If the structure is provided (i.e. not null), then the value in it, even null, is provided." - }, - "AdSetTargetingRule": { - "type": "object", - "properties": { - "operand": { - "enum": [ - "undefined", - "in", - "notIn" - ], - "type": "string", - "nullable": true - }, - "values": { - "type": "array", - "items": { - "type": "string" - }, - "nullable": true, - "x-nullable": true - } - }, - "description": "ad set targeting rule model" - }, - "TransparencyReportDataMessage": { - "required": [ - "data" - ], - "type": "object", - "properties": { - "data": { - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/components/schemas/TransparencyReportEntityMessage" - } - } - }, - "description": "This is the message defining the response for Transparency report" - }, - "ProblemsDetails": { - "type": "object", - "properties": { - "errors": { - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/components/schemas/ProblemDetails" - }, - "nullable": true, - "readOnly": true - } - }, - "description": "Common problems object" - }, - "TransparencyQueryMessage": { - "required": [ - "startDate", - "endDate" - ], - "type": "object", - "properties": { - "shouldDisplayProductIds": { - "type": "boolean", - "description": "Specify if the product ids are displayed in the report.", - "default": false, - "nullable": true - }, - "startDate": { - "type": "string", - "description": "Start date of the report. Date component of ISO 8061 format, any time or timezone component is ignored.", - "format": "date-time" - }, - "endDate": { - "type": "string", - "description": "End date of the report. Date component of ISO 8061 format, any time or timezone component is ignored.", - "format": "date-time" - } - }, - "description": "This is the message defining the query for Transparency report", - "example": { - "shouldDisplayProductIds": false, - "startDate": "2023-04-03T00:00:00.0000000+00:00", - "endDate": "2023-04-06T00:00:00.0000000+00:00" - } - }, - "PlacementsReportQueryDataMessage": { - "required": [ - "data" - ], - "type": "object", - "properties": { - "data": { - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/components/schemas/PlacementsReportQueryEntityMessage" - } - } - }, - "description": "Contains queries for Placements report", - "example": { - "data": [ - { - "type": "PlacementReport", - "attributes": { - "advertiserIds": "123,456,789", - "campaignIds": "111,222,333,444", - "adsetIds": "135,246,357,468", - "environment": "web", - "placement": "MyPlacement", - "dimensions": [ - "AdsetId", - "AdvertiserId", - "Placement" - ], - "metrics": [ - "clicks", - "displays", - "cost" - ], - "currency": "EUR", - "disclosed": false, - "format": "csv", - "timezone": "Europe/Paris", - "startDate": "2022-08-29T00:00:00.0000000+00:00", - "endDate": "2022-08-29T00:00:00.0000000+00:00" - } - } - ] - } - }, - "StatisticsReportQueryMessage": { - "required": [ - "dimensions", - "metrics", - "currency", - "format", - "startDate", - "endDate" - ], - "type": "object", - "properties": { - "advertiserIds": { - "type": "string", - "description": "The comma-separated list of advertiser ids. If empty, all the advertisers in the portfolio will be used", - "nullable": true - }, - "adSetIds": { - "uniqueItems": false, - "type": "array", - "items": { - "type": "string" - }, - "description": "list of adSets ids. If empty, all the adSets will be fetched", - "nullable": true - }, - "adSetNames": { - "uniqueItems": false, - "type": "array", - "items": { - "type": "string" - }, - "description": "list of adSets names. If empty, all the adSets will be fetched", - "nullable": true - }, - "adSetStatus": { - "uniqueItems": false, - "type": "array", - "items": { - "type": "string" - }, - "description": "list of adSets status. If empty, all the adSets will be fetched", - "nullable": true - }, - "dimensions": { - "uniqueItems": false, - "type": "array", - "items": { - "enum": [ - "AdsetId", - "Adset", - "AdvertiserId", - "Advertiser", - "CategoryId", - "Category", - "Hour", - "Day", - "Week", - "Month", - "Year", - "Os", - "Device", - "CampaignId", - "Campaign", - "AdId", - "Ad", - "CouponId", - "Coupon", - "MarketingObjectiveId", - "MarketingObjective", - "ChannelId", - "Channel", - "Goal" - ], - "type": "string" - }, - "description": "The dimensions for the report." - }, - "metrics": { - "uniqueItems": false, - "type": "array", - "items": { - "type": "string" - }, - "description": "The list of metrics to report." - }, - "currency": { - "type": "string", - "description": "The currency used for the report. ISO 4217 code (three-letter capitals)." - }, - "format": { - "type": "string", - "description": "The file format of the generated report: csv, xml, excel or json." - }, - "timezone": { - "type": "string", - "description": "The timezone used for the report. Timezone Database format (Tz).", - "default": "UTC", - "nullable": true - }, - "startDate": { - "type": "string", - "description": "Start date of the report. Date component of ISO 8061 format, any time or timezone component is ignored.", - "format": "date-time" - }, - "endDate": { - "type": "string", - "description": "End date of the report. Date component of ISO 8061 format, any time or timezone component is ignored.", - "format": "date-time" - } - }, - "description": "This is the message defining the query for Adset report", - "example": { - "advertiserIds": "123,456,789", - "adSetIds": [ - "12345", - "54321" - ], - "adSetNames": [ - "myAdSet1", - "myAdSet2" - ], - "adSetStatus": [ - "Active" - ], - "dimensions": [ - "CampaignId", - "Campaign", - "AdsetId", - "Adset", - "AdvertiserId", - "Advertiser", - "AdId", - "Ad", - "CouponId", - "Coupon", - "CategoryId", - "Category", - "Hour", - "Day", - "Week", - "Month", - "Year", - "Os", - "Device" - ], - "metrics": [ - "Clicks", - "Displays", - "Cpc", - "Visits" - ], - "currency": "EUR", - "format": "csv", - "timezone": "Europe/Paris", - "startDate": "2022-08-29T00:00:00.0000000+00:00", - "endDate": "2022-09-01T00:00:00.0000000+00:00" - } - }, - "TransactionsReportQueryDataMessage": { - "required": [ - "data" - ], - "type": "object", - "properties": { - "data": { - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/components/schemas/TransactionsReportQueryEntityMessage" - } - } - }, - "description": "Contains queries for Transactions report", - "example": { - "data": [ - { - "type": "TransactionsReport", - "attributes": { - "advertiserIds": "123,456,789", - "eventType": "display", - "currency": "EUR", - "format": "csv", - "timezone": "Europe/Paris", - "startDate": "2023-04-03T00:00:00.0000000+00:00", - "endDate": "2023-04-03T00:00:00.0000000+00:00" - } - } - ] - } - }, - "TransparencyReportEntityMessage": { - "required": [ - "type", - "attributes" - ], - "type": "object", - "properties": { - "type": { - "type": "string", - "readOnly": true - }, - "attributes": { - "$ref": "#/components/schemas/TransparencyReportAttributes" - } - }, - "description": "This is the message defining the entity response for Transparency report" - }, - "ProblemDetails": { - "type": "object", - "properties": { - "traceId": { - "type": "string", - "description": "The request correlation ID this problem comes from.", - "nullable": true - }, - "traceIdentifier": { - "type": "string", - "description": "The request correlation ID this problem comes from. (deprecated, use traceId instead)", - "nullable": true - }, - "type": { - "enum": [ - "unknown", - "access-control", - "authentication", - "authorization", - "availability", - "deprecation", - "quota", - "validation" - ], - "type": "string", - "description": "The problem's category.", - "nullable": true - }, - "code": { - "type": "string", - "description": "A machine-readable error code, expressed as a string value.", - "nullable": true - }, - "instance": { - "type": "string", - "description": "A URI that identifies the specific occurrence of the problem.", - "nullable": true - }, - "title": { - "type": "string", - "description": "A short human-readable description of the problem type", - "nullable": true - }, - "detail": { - "type": "string", - "description": "A human-readable explanation specific to this occurrence of the problem", - "nullable": true - }, - "source": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "A machine-readable structure to reference to the exact location(s) causing the error(s)", - "nullable": true - }, - "stackTrace": { - "type": "string", - "nullable": true - } - }, - "description": "Common problem object." - }, - "PlacementsReportQueryEntityMessage": { - "required": [ - "type", - "attributes" - ], - "type": "object", - "properties": { - "type": { - "type": "string" - }, - "attributes": { - "$ref": "#/components/schemas/PlacementsReportQueryMessage" - } - }, - "description": "Contains a query for Transaction report and its type" - }, - "TransactionsReportQueryEntityMessage": { - "required": [ - "type", - "attributes" - ], - "type": "object", - "properties": { - "type": { - "type": "string" - }, - "attributes": { - "$ref": "#/components/schemas/TransactionsReportQueryMessage" - } - }, - "description": "Contains a query for Transaction report and its type" - }, - "TransparencyReportAttributes": { - "required": [ - "advertiserId", - "tokenValidUntil", - "files" - ], - "type": "object", - "properties": { - "advertiserId": { - "type": "string" - }, - "tokenValidUntil": { - "type": "string", - "format": "date-time" - }, - "files": { - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/components/schemas/TransparencyReportFile" - } - } - }, - "description": "This is the message defining the attribute response for Transparency report" - }, - "PlacementsReportQueryMessage": { - "required": [ - "advertiserIds", - "dimensions", - "metrics", - "currency", - "format", - "startDate", - "endDate" - ], - "type": "object", - "properties": { - "advertiserIds": { - "type": "string", - "description": "The comma-separated list of advertiser ids." - }, - "campaignIds": { - "type": "string", - "description": "The comma-separated list of campaign ids.", - "nullable": true - }, - "adsetIds": { - "type": "string", - "description": "The comma-separated list of adSet ids.", - "nullable": true - }, - "environment": { - "type": "string", - "description": "Type of environment: Web, Android or iOS.", - "nullable": true - }, - "placement": { - "type": "string", - "description": "Filter the value of the placement", - "nullable": true - }, - "dimensions": { - "uniqueItems": false, - "type": "array", - "items": { - "enum": [ - "AdsetId", - "AdvertiserId", - "Placement", - "Environment", - "AdsetName", - "AdvertiserName", - "CampaignId", - "CampaignName" - ], - "type": "string" - }, - "description": "The dimensions for the report." - }, - "metrics": { - "uniqueItems": false, - "type": "array", - "items": { - "type": "string" - }, - "description": "The list of metrics to report." - }, - "currency": { - "type": "string", - "description": "The currency used for the report. ISO 4217 code (three-letter capitals)." - }, - "disclosed": { - "type": "boolean", - "description": "Returns disclosed or undisclosed placements.", - "default": true, - "nullable": true - }, - "format": { - "type": "string", - "description": "The file format of the generated report: csv, xml, excel or json." - }, - "timezone": { - "type": "string", - "description": "The timezone used for the report. Timezone Database format (Tz).", - "default": "UTC", - "nullable": true - }, - "startDate": { - "type": "string", - "description": "Start date of the report. Date component of ISO 8061 format, any time or timezone component is ignored.", - "format": "date-time" - }, - "endDate": { - "type": "string", - "description": "End date of the report. Date component of ISO 8061 format, any time or timezone component is ignored.", - "format": "date-time" - } - }, - "description": "This is the message defining the query for Placements report" - }, - "TransactionsReportQueryMessage": { - "required": [ - "currency", - "format", - "startDate", - "endDate" - ], - "type": "object", - "properties": { - "advertiserIds": { - "type": "string", - "description": "The comma-separated list of advertiser ids. If empty, all the advertisers in the portfolio will be used", - "nullable": true - }, - "eventType": { - "type": "string", - "description": "Apply a filter on Event type .", - "nullable": true - }, - "currency": { - "type": "string", - "description": "The currency used for the report. ISO 4217 code (three-letter capitals)." - }, - "format": { - "type": "string", - "description": "The file format of the generated report: csv, xml, excel or json." - }, - "timezone": { - "type": "string", - "description": "The timezone used for the report. Timezone Database format (Tz).", - "default": "UTC", - "nullable": true - }, - "startDate": { - "type": "string", - "description": "Start date of the report. Date component of ISO 8061 format, any time or timezone component is ignored.", - "format": "date-time" - }, - "endDate": { - "type": "string", - "description": "End date of the report. Date component of ISO 8061 format, any time or timezone component is ignored.", - "format": "date-time" - } - }, - "description": "This is the message defining the query for Transaction report" - }, - "TransparencyReportFile": { - "required": [ - "fileName", - "url" - ], - "type": "object", - "properties": { - "fileName": { - "type": "string" - }, - "url": { - "type": "string" - } - }, - "description": "This is the message defining the file response for Transparency report" - }, - "GetPortfolioResponse": { - "type": "object", - "properties": { - "data": { - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/components/schemas/EntityOfPortfolioMessage" - }, - "description": "The response�s primary data", - "nullable": true - }, - "errors": { - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/components/schemas/CriteoApiError" - }, - "description": "Error list returned by the Criteo API\r\nFor successful requests it is empty", - "nullable": true - }, - "warnings": { - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/components/schemas/CriteoApiWarning" - }, - "description": "Warnings list returned by the Criteo API\r\nIn some situations the operations are successful but it may be useful to issue warnings to the API consumer.\r\nFor example the endpoint, entity or field is deprecated. Warnings are like compiler warnings, they indicate that problems may occur in the future.", - "nullable": true - } - }, - "description": "Portfolio fetch Response" - }, - "EntityOfPortfolioMessage": { - "type": "object", - "properties": { - "type": { - "enum": [ - "campaign", - "adset", - "ad", - "advertiser", - "agency", - "publisher", - "address", - "client", - "contact", - "industry" - ], - "type": "string", - "description": "A string containing the entity type", - "nullable": true, - "example": "campaign" - }, - "id": { - "type": "string", - "description": "A opaque string containing the unique Id of the entity", - "nullable": true - }, - "attributes": { - "$ref": "#/components/schemas/PortfolioMessage" - }, - "meta": { - "type": "object", - "description": "A meta object that contains application-specific metadata", - "nullable": true - } - }, - "description": "Generic Criteo API successful data model" - }, - "CriteoApiError": { - "type": "object", - "properties": { - "traceId": { - "type": "string", - "description": "The correlation ID provided by the gateway", - "nullable": true - }, - "type": { - "enum": [ - "access_control", - "authentication", - "authorization", - "availability", - "deprecation", - "quota", - "validation" - ], - "type": "string", - "description": "A machine-readable code specifying error category", - "nullable": true, - "example": "access_control" - }, - "code": { - "enum": [ - "internal-error", - "deprecated-field", - "endpoint-deprecated", - "required-field", - "invalid-date-format", - "invalid", - "invalid-ranged", - "invalid-timespan" - ], - "type": "string", - "description": "A machine-readable error code string in kabab-case. Unique across Criteo", - "nullable": true, - "example": "internal-error" - }, - "instance": { - "type": "string", - "description": "A URI reference that identifies the specific occurrence of the problem", - "nullable": true - }, - "title": { - "type": "string", - "description": "A short, human-readable remarks of the problem type.", - "nullable": true - }, - "detail": { - "type": "string", - "description": "A human-readable explanation specific to this occurrence of the problem.", - "nullable": true - }, - "source": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "A machine-readable structure to reference to the exact location(s) causing the error(s).", - "nullable": true - } - }, - "description": "Criteo API response error" - }, - "CriteoApiWarning": { - "type": "object", - "properties": { - "traceId": { - "type": "string", - "description": "The correlation ID provided by the gateway", - "nullable": true - }, - "type": { - "enum": [ - "access_control", - "authentication", - "authorization", - "availability", - "deprecation", - "quota", - "validation" - ], - "type": "string", - "description": "A machine-readable code specifying error category", - "nullable": true, - "example": "access_control" - }, - "code": { - "enum": [ - "internal-error", - "deprecated-field", - "endpoint-deprecated", - "required-field", - "invalid-date-format", - "invalid", - "invalid-ranged", - "invalid-timespan" - ], - "type": "string", - "description": "A machine-readable error code string in kabab-case. Unique across Criteo", - "nullable": true, - "example": "internal-error" - }, - "instance": { - "type": "string", - "description": "A URI reference that identifies the specific occurrence of the problem", - "nullable": true - }, - "title": { - "type": "string", - "description": "A short, human-readable remarks of the problem type.", - "nullable": true - }, - "detail": { - "type": "string", - "description": "A human-readable explanation specific to this occurrence of the problem.", - "nullable": true - } - }, - "description": "Criteo API response warning" - }, - "PortfolioMessage": { - "type": "object", - "properties": { - "advertiserName": { - "type": "string", - "nullable": true - } - }, - "description": "Class with elementary info about advertiser" - } - }, - "securitySchemes": { - "oauth": { - "type": "oauth2", - "flows": { - "clientCredentials": { - "tokenUrl": "https://api.criteo.com/oauth2/token", - "scopes": { } - }, - "authorizationCode": { - "authorizationUrl": "https://api.criteo.com/oauth2", - "tokenUrl": "https://api.criteo.com/oauth2/token", - "scopes": { } - } - } - } - } - }, - "security": [ - { - "oauth": [ ] - } - ], - "x-samples-languages": [ - "java", - "python", - "php", - "csharp", - "javascript", - "curl", - "ruby" - ] -} \ No newline at end of file diff --git a/api-specifications/marketingsolutions_2023-07.json b/api-specifications/marketingsolutions_2023-07.json index 6b5ef33..32b5e72 100644 --- a/api-specifications/marketingsolutions_2023-07.json +++ b/api-specifications/marketingsolutions_2023-07.json @@ -5514,7 +5514,8 @@ "madid", "identityLink", "gum", - "customerid" + "customerid", + "phoneNumber" ], "type": "string", "description": "What type of identifiers are used", @@ -5561,7 +5562,6 @@ "$ref": "#/components/schemas/ApplicationSummaryModelResource" }, "warnings": { - "uniqueItems": false, "type": "array", "items": { "$ref": "#/components/schemas/CommonProblem" @@ -5570,7 +5570,6 @@ "readOnly": true }, "errors": { - "uniqueItems": false, "type": "array", "items": { "$ref": "#/components/schemas/CommonProblem" @@ -5579,7 +5578,7 @@ "readOnly": true } }, - "description": "Response of ApplicationSummaryModel" + "description": "A top-level object that encapsulates a Criteo API response for a single value" }, "ApplicationSummaryModelResource": { "type": "object", @@ -5592,7 +5591,7 @@ "$ref": "#/components/schemas/ApplicationSummaryModel" } }, - "description": "A class that represents a ValueType in a guild compliant way" + "description": "A top-level object that encapsulates a Criteo API response for a single value" }, "CommonProblem": { "type": "object", @@ -5624,7 +5623,7 @@ }, "code": { "type": "string", - "description": "A machine-readable error code, expressed as a string value.", + "description": "A machine-readable error code, expressed as a string value.", "nullable": true }, "instance": { @@ -5655,7 +5654,7 @@ "nullable": true } }, - "description": "Common problem object. Can be specialized as needed." + "description": "Common problem object." }, "ApplicationSummaryModel": { "type": "object", @@ -5683,7 +5682,7 @@ "nullable": true } }, - "description": "Model of ApplicationSummary" + "description": "Used for the /me endpoint. Contains information about the currently authenticated application that we accept to give to our clients" }, "AdSetAudienceLinkEntityV1Response": { "type": "object", @@ -10749,7 +10748,6 @@ "required": [ "bodyTextColor", "callsToAction", - "creativeBackgrounColor", "logoBase64String", "pricesColor", "productImageDisplay" diff --git a/api-specifications/marketingsolutions_2023-10.json b/api-specifications/marketingsolutions_2023-10.json index 2e53763..396fc93 100644 --- a/api-specifications/marketingsolutions_2023-10.json +++ b/api-specifications/marketingsolutions_2023-10.json @@ -4921,7 +4921,8 @@ "madid", "identityLink", "gum", - "customerid" + "customerid", + "phoneNumber" ], "type": "string", "description": "What type of identifiers are used", @@ -4968,7 +4969,6 @@ "$ref": "#/components/schemas/ApplicationSummaryModelResource" }, "warnings": { - "uniqueItems": false, "type": "array", "items": { "$ref": "#/components/schemas/CommonProblem" @@ -4977,7 +4977,6 @@ "readOnly": true }, "errors": { - "uniqueItems": false, "type": "array", "items": { "$ref": "#/components/schemas/CommonProblem" @@ -4986,7 +4985,7 @@ "readOnly": true } }, - "description": "Response of ApplicationSummaryModel" + "description": "A top-level object that encapsulates a Criteo API response for a single value" }, "ApplicationSummaryModelResource": { "type": "object", @@ -4999,7 +4998,7 @@ "$ref": "#/components/schemas/ApplicationSummaryModel" } }, - "description": "A class that represents a ValueType in a guild compliant way" + "description": "A top-level object that encapsulates a Criteo API response for a single value" }, "CommonProblem": { "type": "object", @@ -5031,7 +5030,7 @@ }, "code": { "type": "string", - "description": "A machine-readable error code, expressed as a string value.", + "description": "A machine-readable error code, expressed as a string value.", "nullable": true }, "instance": { @@ -5062,7 +5061,7 @@ "nullable": true } }, - "description": "Common problem object. Can be specialized as needed." + "description": "Common problem object." }, "ApplicationSummaryModel": { "type": "object", @@ -5090,7 +5089,7 @@ "nullable": true } }, - "description": "Model of ApplicationSummary" + "description": "Used for the /me endpoint. Contains information about the currently authenticated application that we accept to give to our clients" }, "AdSetAudienceLinkEntityV1Response": { "type": "object", @@ -10156,7 +10155,6 @@ "required": [ "bodyTextColor", "callsToAction", - "creativeBackgrounColor", "logoBase64String", "pricesColor", "productImageDisplay" diff --git a/api-specifications/marketingsolutions_2024-01.json b/api-specifications/marketingsolutions_2024-01.json index be823d3..60bcfcf 100644 --- a/api-specifications/marketingsolutions_2024-01.json +++ b/api-specifications/marketingsolutions_2024-01.json @@ -4917,7 +4917,8 @@ "madid", "identityLink", "gum", - "customerid" + "customerid", + "phoneNumber" ], "type": "string", "description": "What type of identifiers are used", @@ -4964,7 +4965,6 @@ "$ref": "#/components/schemas/ApplicationSummaryModelResource" }, "warnings": { - "uniqueItems": false, "type": "array", "items": { "$ref": "#/components/schemas/CommonProblem" @@ -4973,7 +4973,6 @@ "readOnly": true }, "errors": { - "uniqueItems": false, "type": "array", "items": { "$ref": "#/components/schemas/CommonProblem" @@ -4982,7 +4981,7 @@ "readOnly": true } }, - "description": "Response of ApplicationSummaryModel" + "description": "A top-level object that encapsulates a Criteo API response for a single value" }, "ApplicationSummaryModelResource": { "type": "object", @@ -4995,7 +4994,7 @@ "$ref": "#/components/schemas/ApplicationSummaryModel" } }, - "description": "A class that represents a ValueType in a guild compliant way" + "description": "A top-level object that encapsulates a Criteo API response for a single value" }, "CommonProblem": { "type": "object", @@ -5027,7 +5026,7 @@ }, "code": { "type": "string", - "description": "A machine-readable error code, expressed as a string value.", + "description": "A machine-readable error code, expressed as a string value.", "nullable": true }, "instance": { @@ -5058,7 +5057,7 @@ "nullable": true } }, - "description": "Common problem object. Can be specialized as needed." + "description": "Common problem object." }, "ApplicationSummaryModel": { "type": "object", @@ -5086,7 +5085,7 @@ "nullable": true } }, - "description": "Model of ApplicationSummary" + "description": "Used for the /me endpoint. Contains information about the currently authenticated application that we accept to give to our clients" }, "AdSetAudienceLinkEntityV1Response": { "type": "object", @@ -10429,7 +10428,6 @@ "required": [ "bodyTextColor", "callsToAction", - "creativeBackgrounColor", "logoBase64String", "pricesColor", "productImageDisplay" diff --git a/api-specifications/marketingsolutions_2024-04.json b/api-specifications/marketingsolutions_2024-04.json index c530c78..ff72ebb 100644 --- a/api-specifications/marketingsolutions_2024-04.json +++ b/api-specifications/marketingsolutions_2024-04.json @@ -4917,7 +4917,8 @@ "madid", "identityLink", "gum", - "customerid" + "customerid", + "phoneNumber" ], "type": "string", "description": "What type of identifiers are used", @@ -4964,7 +4965,6 @@ "$ref": "#/components/schemas/ApplicationSummaryModelResource" }, "warnings": { - "uniqueItems": false, "type": "array", "items": { "$ref": "#/components/schemas/CommonProblem" @@ -4973,7 +4973,6 @@ "readOnly": true }, "errors": { - "uniqueItems": false, "type": "array", "items": { "$ref": "#/components/schemas/CommonProblem" @@ -4982,7 +4981,7 @@ "readOnly": true } }, - "description": "Response of ApplicationSummaryModel" + "description": "A top-level object that encapsulates a Criteo API response for a single value" }, "ApplicationSummaryModelResource": { "type": "object", @@ -4995,7 +4994,7 @@ "$ref": "#/components/schemas/ApplicationSummaryModel" } }, - "description": "A class that represents a ValueType in a guild compliant way" + "description": "A top-level object that encapsulates a Criteo API response for a single value" }, "CommonProblem": { "type": "object", @@ -5027,7 +5026,7 @@ }, "code": { "type": "string", - "description": "A machine-readable error code, expressed as a string value.", + "description": "A machine-readable error code, expressed as a string value.", "nullable": true }, "instance": { @@ -5058,7 +5057,7 @@ "nullable": true } }, - "description": "Common problem object. Can be specialized as needed." + "description": "Common problem object." }, "ApplicationSummaryModel": { "type": "object", @@ -5086,7 +5085,7 @@ "nullable": true } }, - "description": "Model of ApplicationSummary" + "description": "Used for the /me endpoint. Contains information about the currently authenticated application that we accept to give to our clients" }, "AdSetAudienceLinkEntityV1Response": { "type": "object", @@ -10429,7 +10428,6 @@ "required": [ "bodyTextColor", "callsToAction", - "creativeBackgrounColor", "logoBase64String", "pricesColor", "productImageDisplay" diff --git a/api-specifications/marketingsolutions_2024-07.json b/api-specifications/marketingsolutions_2024-07.json new file mode 100644 index 0000000..b5dd610 --- /dev/null +++ b/api-specifications/marketingsolutions_2024-07.json @@ -0,0 +1,11259 @@ +{ + "openapi": "3.0.1", + "info": { + "title": "Criteo API", + "description": "Criteo API - MarketingSolutions", + "version": "2024-07" + }, + "servers": [ + { + "url": "https://api.criteo.com" + } + ], + "paths": { + "/2024-07/marketing-solutions/audience-segments/{audience-segment-id}/contact-list": { + "delete": { + "tags": [ + "Audience" + ], + "description": "Delete all identifiers from a contact list audience-segment.", + "operationId": "deleteContactListIdentifiers", + "responses": { + "200": { + "description": "The Contact List was emptied", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DeleteAudienceContactListResponse" + }, + "example": { + "data": { + "id": "1", + "type": "AudienceContactlist" + }, + "errors": [ ], + "warnings": [ + { + "traceId": "56ed4096-f96a-4944-8881-05468efe0ec9", + "type": "deprecation", + "code": "deprecated-field", + "instance": "/audiences/314195", + "title": "'nbValidIds' is deprecated", + "detail": "The field 'nbValidIds' is deprecated please use 'nbValidIdentifiers" + } + ] + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorCodeResponse" + }, + "example": { + "errors": [ + { + "traceId": "56ed4096-f96a-4944-8881-05468efe0ec9", + "type": "validation", + "code": "audience-invalid", + "instance": "/audience/314159", + "title": "Audience is invalid", + "detail": "Audience is not found, please choose a valid audience" + } + ], + "warnings": [ + { + "traceId": "56ed4096-f96a-4944-8881-05468efe0ec9", + "type": "deprecation", + "code": "deprecated-field", + "instance": "/audiences/314195", + "title": "'nbValidIds' is deprecated", + "detail": "The field 'nbValidIds' is deprecated please use 'nbValidIdentifiers" + } + ] + } + } + } + } + } + }, + "patch": { + "tags": [ + "Audience" + ], + "description": "Add/remove identifiers to or from a contact list audience-segment.", + "operationId": "updateContactListIdentifiers", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ContactlistAmendmentRequest" + } + } + }, + "required": true, + "x-bodyName": "body" + }, + "responses": { + "200": { + "description": "Summary of created request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ModifyAudienceResponse" + }, + "example": { + "data": { + "type": "ContactlistAmendment", + "attributes": { + "contactListId": 12, + "operation": "add", + "requestDate": "2018-12-10T10:00:50.0000000+00:00", + "identifierType": "madid", + "nbValidIdentifiers": 7343, + "nbInvalidIdentifiers": 13, + "sampleInvalidIdentifiers": [ + "InvalidIdentifier" + ] + } + }, + "errors": [ ], + "warnings": [ + { + "traceId": "56ed4096-f96a-4944-8881-05468efe0ec9", + "type": "deprecation", + "code": "deprecated-field", + "instance": "/audiences/314195", + "title": "'nbValidIds' is deprecated", + "detail": "The field 'nbValidIds' is deprecated please use 'nbValidIdentifiers" + } + ] + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorCodeResponse" + }, + "example": { + "errors": [ + { + "traceId": "56ed4096-f96a-4944-8881-05468efe0ec9", + "type": "validation", + "code": "audience-invalid", + "instance": "/audience/314159", + "title": "Audience is invalid", + "detail": "Audience is not found, please choose a valid audience" + } + ], + "warnings": [ + { + "traceId": "56ed4096-f96a-4944-8881-05468efe0ec9", + "type": "deprecation", + "code": "deprecated-field", + "instance": "/audiences/314195", + "title": "'nbValidIds' is deprecated", + "detail": "The field 'nbValidIds' is deprecated please use 'nbValidIdentifiers" + } + ] + } + } + } + }, + "404": { + "description": "Audience 123 not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorCodeResponse" + }, + "example": { + "errors": [ + { + "traceId": "56ed4096-f96a-4944-8881-05468efe0ec9", + "type": "validation", + "code": "audience-invalid", + "instance": "/audience/314159", + "title": "Audience is invalid", + "detail": "Audience is not found, please choose a valid audience" + } + ], + "warnings": [ + { + "traceId": "56ed4096-f96a-4944-8881-05468efe0ec9", + "type": "deprecation", + "code": "deprecated-field", + "instance": "/audiences/314195", + "title": "'nbValidIds' is deprecated", + "detail": "The field 'nbValidIds' is deprecated please use 'nbValidIdentifiers" + } + ] + } + } + } + } + } + }, + "parameters": [ + { + "name": "audience-segment-id", + "in": "path", + "description": "The id of the contact list audience-segment to amend", + "required": true, + "style": "simple", + "schema": { + "type": "string", + "format": "int32" + } + } + ] + }, + "/2024-07/marketing-solutions/me": { + "get": { + "tags": [ + "Gateway" + ], + "description": "Get information about the currently logged application", + "operationId": "GetCurrentApplication", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApplicationSummaryModelResponse" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { } + } + } + } + } + }, + "/2024-07/marketing-solutions/ad-sets/{ad-set-id}/audience": { + "put": { + "tags": [ + "Campaign" + ], + "description": "Link or unlink an audience with an ad set", + "operationId": "updateAdSetAudience", + "parameters": [ + { + "name": "ad-set-id", + "in": "path", + "description": "The ad set ID.", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "Ad set-Audience update request.", + "content": { + "application/json-patch+json": { + "schema": { + "$ref": "#/components/schemas/AdSetAudienceLinkInputEntityV1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/AdSetAudienceLinkInputEntityV1" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/AdSetAudienceLinkInputEntityV1" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/AdSetAudienceLinkInputEntityV1" + } + } + }, + "required": true, + "x-bodyName": "request" + }, + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/AdSetAudienceLinkEntityV1Response" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/AdSetAudienceLinkEntityV1Response" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/AdSetAudienceLinkEntityV1Response" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "401": { + "description": "The API client is not properly authenticated.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "403": { + "description": "The API client is not authorized to access this resource.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + } + } + } + }, + "/2024-07/marketing-solutions/audience-segments": { + "patch": { + "tags": [ + "Audience" + ], + "description": "Updates the properties of all segments with a valid configuration, and returns their IDs. For those that cannot be updated, one or multiple errors are returned.", + "operationId": "bulkUpdateAudienceSegments", + "requestBody": { + "description": "Segment Update request", + "content": { + "application/json-patch+json": { + "schema": { + "$ref": "#/components/schemas/AudienceSegmentBulkUpdateInputV1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/AudienceSegmentBulkUpdateInputV1" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/AudienceSegmentBulkUpdateInputV1" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/AudienceSegmentBulkUpdateInputV1" + } + } + }, + "required": true, + "x-bodyName": "request" + }, + "responses": { + "200": { + "description": "Success or partial success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/AudienceSegmentEntityV1ListResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/AudienceSegmentEntityV1ListResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/AudienceSegmentEntityV1ListResponse" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "401": { + "description": "The API client is not properly authenticated.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "403": { + "description": "The API client is not authorized to access this resource.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + } + } + } + }, + "/2024-07/marketing-solutions/audience-segments/compute-sizes": { + "post": { + "tags": [ + "Audience" + ], + "description": "Gets the size of all segments. An error is returned for those whose size calculation is not supported.", + "operationId": "computeAudienceSegmentsSizes", + "requestBody": { + "description": "", + "content": { + "application/json-patch+json": { + "schema": { + "$ref": "#/components/schemas/AudienceSegmentComputeSizesInputV1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/AudienceSegmentComputeSizesInputV1" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/AudienceSegmentComputeSizesInputV1" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/AudienceSegmentComputeSizesInputV1" + } + } + }, + "required": true, + "x-bodyName": "request" + }, + "responses": { + "200": { + "description": "Success or partial success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/AudienceSegmentSizeEntityV1ListResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/AudienceSegmentSizeEntityV1ListResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/AudienceSegmentSizeEntityV1ListResponse" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "401": { + "description": "The API client is not properly authenticated.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "403": { + "description": "The API client is not authorized to access this resource.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + } + } + } + }, + "/2024-07/marketing-solutions/audience-segments/create": { + "post": { + "tags": [ + "Audience" + ], + "description": "Creates all segments with a valid configuration, and returns their IDs. For those that cannot be created, one or multiple errors are returned.", + "operationId": "bulkCreateAudienceSegments", + "requestBody": { + "description": "Segment creation parameter", + "content": { + "application/json-patch+json": { + "schema": { + "$ref": "#/components/schemas/AudienceSegmentBulkCreateInputV1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/AudienceSegmentBulkCreateInputV1" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/AudienceSegmentBulkCreateInputV1" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/AudienceSegmentBulkCreateInputV1" + } + } + }, + "required": true, + "x-bodyName": "request" + }, + "responses": { + "200": { + "description": "Success or partial success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/AudienceSegmentEntityV1ListResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/AudienceSegmentEntityV1ListResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/AudienceSegmentEntityV1ListResponse" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "401": { + "description": "The API client is not properly authenticated.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "403": { + "description": "The API client is not authorized to access this resource.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + } + } + } + }, + "/2024-07/marketing-solutions/audience-segments/delete": { + "post": { + "tags": [ + "Audience" + ], + "description": "Delete the segments associated to the given audience IDs.", + "operationId": "bulkDeleteAudienceSegments", + "requestBody": { + "description": "Segment delete request.", + "content": { + "application/json-patch+json": { + "schema": { + "$ref": "#/components/schemas/AudienceSegmentBulkDeleteInputV1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/AudienceSegmentBulkDeleteInputV1" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/AudienceSegmentBulkDeleteInputV1" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/AudienceSegmentBulkDeleteInputV1" + } + } + }, + "required": true, + "x-bodyName": "request" + }, + "responses": { + "200": { + "description": "Success or partial success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/AudienceSegmentIdEntityV1ListResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/AudienceSegmentIdEntityV1ListResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/AudienceSegmentIdEntityV1ListResponse" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "401": { + "description": "The API client is not properly authenticated.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "403": { + "description": "The API client is not authorized to access this resource.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + } + } + } + }, + "/2024-07/marketing-solutions/audience-segments/estimate-size": { + "post": { + "tags": [ + "Audience" + ], + "description": "Gets the size estimation of a non existent segment. An error is returned when size calculation is not supported.", + "operationId": "estimateAudienceSegmentSize", + "requestBody": { + "description": "", + "content": { + "application/json-patch+json": { + "schema": { + "$ref": "#/components/schemas/AudienceSegmentEstimateSizeInputV1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/AudienceSegmentEstimateSizeInputV1" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/AudienceSegmentEstimateSizeInputV1" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/AudienceSegmentEstimateSizeInputV1" + } + } + }, + "required": true, + "x-bodyName": "request" + }, + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/AudienceSegmentSizeEstimationV1Response" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/AudienceSegmentSizeEstimationV1Response" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/AudienceSegmentSizeEstimationV1Response" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "401": { + "description": "The API client is not properly authenticated.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "403": { + "description": "The API client is not authorized to access this resource.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + } + } + } + }, + "/2024-07/marketing-solutions/audience-segments/in-market-brands": { + "get": { + "tags": [ + "Audience" + ], + "description": "Returns a list with all available in-market brands that can be used to define an in-market segment.", + "operationId": "getAudienceSegmentsInMarketBrands", + "parameters": [ + { + "name": "advertiser-id", + "in": "query", + "description": "The advertiser ID.", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "country", + "in": "query", + "description": "The ISO 3166-1 alpha-2 country code.", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/InMarketAudienceSegmentBrandEntityV1ListResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/InMarketAudienceSegmentBrandEntityV1ListResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/InMarketAudienceSegmentBrandEntityV1ListResponse" + } + } + } + }, + "401": { + "description": "The API client is not properly authenticated.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "403": { + "description": "The API client is not authorized to access this resource.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + } + } + } + }, + "/2024-07/marketing-solutions/audience-segments/in-market-interests": { + "get": { + "tags": [ + "Audience" + ], + "description": "Returns a list with all available in-market interests that can be used to define an in-market segment. These in-market interests correspond to the Google product taxonomy.", + "operationId": "getAudienceSegmentsInMarketInterests", + "parameters": [ + { + "name": "advertiser-id", + "in": "query", + "description": "The advertiser ID.", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + }, + { + "name": "country", + "in": "query", + "description": "The ISO 3166-1 alpha-2 country code.", + "required": true, + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/InMarketAudienceSegmentInterestEntityV1ListResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/InMarketAudienceSegmentInterestEntityV1ListResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/InMarketAudienceSegmentInterestEntityV1ListResponse" + } + } + } + }, + "401": { + "description": "The API client is not properly authenticated.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "403": { + "description": "The API client is not authorized to access this resource.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + } + } + } + }, + "/2024-07/marketing-solutions/audience-segments/search": { + "post": { + "tags": [ + "Audience" + ], + "description": "Returns a list of segments that match the provided filters. If present, the filters are AND'ed together when applied.", + "operationId": "searchAudienceSegments", + "parameters": [ + { + "name": "limit", + "in": "query", + "description": "The number of elements to be returned. The default is 50 and the maximum is 100.", + "style": "form", + "schema": { + "maximum": 100, + "minimum": 0, + "type": "integer", + "format": "int32", + "default": 50 + } + }, + { + "name": "offset", + "in": "query", + "description": "The (zero-based) offset into the collection. The default is 0.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "default": 0 + } + } + ], + "requestBody": { + "description": "Segment search filters.", + "content": { + "application/json-patch+json": { + "schema": { + "$ref": "#/components/schemas/AudienceSegmentSearchInputV1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/AudienceSegmentSearchInputV1" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/AudienceSegmentSearchInputV1" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/AudienceSegmentSearchInputV1" + } + } + }, + "required": true, + "x-bodyName": "request" + }, + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/AudienceSegmentEntityV1AudienceSegmentSearchMetadataV1ListResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/AudienceSegmentEntityV1AudienceSegmentSearchMetadataV1ListResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/AudienceSegmentEntityV1AudienceSegmentSearchMetadataV1ListResponse" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "401": { + "description": "The API client is not properly authenticated.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "403": { + "description": "The API client is not authorized to access this resource.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + } + } + } + }, + "/2024-07/marketing-solutions/audience-segments/{audience-segment-id}/contact-list/statistics": { + "get": { + "tags": [ + "Audience" + ], + "description": "Returns the statistics of a contact list segment.", + "operationId": "getAudienceSegmentContactListStatistics", + "parameters": [ + { + "name": "audience-segment-id", + "in": "path", + "description": "The segment ID.", + "required": true, + "style": "simple", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ContactListStatisticsEntityV1Response" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ContactListStatisticsEntityV1Response" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ContactListStatisticsEntityV1Response" + } + } + } + }, + "401": { + "description": "The API client is not properly authenticated.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "403": { + "description": "The API client is not authorized to access this resource.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + } + } + } + }, + "/2024-07/marketing-solutions/audiences": { + "patch": { + "tags": [ + "Audience" + ], + "description": "Updates the properties of all audiences with a valid configuration, and returns their IDs. For those that cannot be updated, one or multiple errors are returned.", + "operationId": "bulkUpdateAudiences", + "requestBody": { + "description": "", + "content": { + "application/json-patch+json": { + "schema": { + "$ref": "#/components/schemas/AudienceBulkUpdateInputV1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/AudienceBulkUpdateInputV1" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/AudienceBulkUpdateInputV1" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/AudienceBulkUpdateInputV1" + } + } + }, + "required": true, + "x-bodyName": "request" + }, + "responses": { + "200": { + "description": "Success or partial success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/AudienceEntityV1ListResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/AudienceEntityV1ListResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/AudienceEntityV1ListResponse" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "401": { + "description": "The API client is not properly authenticated.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "403": { + "description": "The API client is not authorized to access this resource.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + } + } + } + }, + "/2024-07/marketing-solutions/audiences/compute-sizes": { + "post": { + "tags": [ + "Audience" + ], + "description": "Gets the size of all audiences. An error is returned for those whose size calculation is not supported.", + "operationId": "computeAudiencesSizes", + "requestBody": { + "description": "", + "content": { + "application/json-patch+json": { + "schema": { + "$ref": "#/components/schemas/AudienceComputeSizesInputV1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/AudienceComputeSizesInputV1" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/AudienceComputeSizesInputV1" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/AudienceComputeSizesInputV1" + } + } + }, + "required": true, + "x-bodyName": "request" + }, + "responses": { + "200": { + "description": "Success or partial success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/AudienceSizeEntityV1ListResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/AudienceSizeEntityV1ListResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/AudienceSizeEntityV1ListResponse" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "401": { + "description": "The API client is not properly authenticated.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "403": { + "description": "The API client is not authorized to access this resource.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + } + } + } + }, + "/2024-07/marketing-solutions/audiences/create": { + "post": { + "tags": [ + "Audience" + ], + "description": "Creates all audiences with a valid configuration, and returns their IDs. For those that cannot be created, one or multiple errors are returned.", + "operationId": "bulkCreateAudiences", + "requestBody": { + "description": "", + "content": { + "application/json-patch+json": { + "schema": { + "$ref": "#/components/schemas/AudienceBulkCreateInputV1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/AudienceBulkCreateInputV1" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/AudienceBulkCreateInputV1" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/AudienceBulkCreateInputV1" + } + } + }, + "required": true, + "x-bodyName": "request" + }, + "responses": { + "200": { + "description": "Success or partial success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/AudienceEntityV1ListResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/AudienceEntityV1ListResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/AudienceEntityV1ListResponse" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "401": { + "description": "The API client is not properly authenticated.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "403": { + "description": "The API client is not authorized to access this resource.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + } + } + } + }, + "/2024-07/marketing-solutions/audiences/delete": { + "post": { + "tags": [ + "Audience" + ], + "description": "Deletes the audiences associated to the given audience IDs.", + "operationId": "bulkDeleteAudiences", + "requestBody": { + "description": "", + "content": { + "application/json-patch+json": { + "schema": { + "$ref": "#/components/schemas/AudienceBulkDeleteInputV1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/AudienceBulkDeleteInputV1" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/AudienceBulkDeleteInputV1" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/AudienceBulkDeleteInputV1" + } + } + }, + "required": true, + "x-bodyName": "request" + }, + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/AudienceIdEntityV1ListResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/AudienceIdEntityV1ListResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/AudienceIdEntityV1ListResponse" + } + } + } + }, + "204": { + "description": "Success or partial success", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "400": { + "description": "Bad request", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "401": { + "description": "The API client is not properly authenticated.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "403": { + "description": "The API client is not authorized to access this resource.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + } + } + } + }, + "/2024-07/marketing-solutions/audiences/estimate-size": { + "post": { + "tags": [ + "Audience" + ], + "description": "Gets the size estimation of a non existent audience. An error is returned when size calculation is not supported.", + "operationId": "estimateAudienceSize", + "requestBody": { + "description": "", + "content": { + "application/json-patch+json": { + "schema": { + "$ref": "#/components/schemas/AudienceEstimateSizeInputV1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/AudienceEstimateSizeInputV1" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/AudienceEstimateSizeInputV1" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/AudienceEstimateSizeInputV1" + } + } + }, + "required": true, + "x-bodyName": "request" + }, + "responses": { + "200": { + "description": "Success or partial success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/AudienceSizeEstimationV1Response" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/AudienceSizeEstimationV1Response" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/AudienceSizeEstimationV1Response" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "401": { + "description": "The API client is not properly authenticated.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "403": { + "description": "The API client is not authorized to access this resource.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + } + } + } + }, + "/2024-07/marketing-solutions/audiences/search": { + "post": { + "tags": [ + "Audience" + ], + "description": "Returns a list of audiences that match the provided filters. If present, the filters are AND'ed together when applied.", + "operationId": "searchAudiences", + "parameters": [ + { + "name": "limit", + "in": "query", + "description": "The number of elements to be returned. The default is 50 and the maximum is 100.", + "style": "form", + "schema": { + "maximum": 100, + "minimum": 0, + "type": "integer", + "format": "int32", + "default": 50 + } + }, + { + "name": "offset", + "in": "query", + "description": "The (zero-based) offset into the collection. The default is 0.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "default": 0 + } + } + ], + "requestBody": { + "description": "Audience search filters.", + "content": { + "application/json-patch+json": { + "schema": { + "$ref": "#/components/schemas/AudienceSearchInputV1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/AudienceSearchInputV1" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/AudienceSearchInputV1" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/AudienceSearchInputV1" + } + } + }, + "required": true, + "x-bodyName": "request" + }, + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/AudienceEntityV1AudienceSearchMetadataV1ListResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/AudienceEntityV1AudienceSearchMetadataV1ListResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/AudienceEntityV1AudienceSearchMetadataV1ListResponse" + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "401": { + "description": "The API client is not properly authenticated.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "403": { + "description": "The API client is not authorized to access this resource.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + } + } + } + }, + "/2024-07/marketing-solutions/ad-sets": { + "patch": { + "tags": [ + "Campaign" + ], + "description": "Patch a list of AdSets.", + "operationId": "PatchAdSetsV24Q1", + "requestBody": { + "description": "List of adsets to patch.", + "content": { + "application/json-patch+json": { + "schema": { + "$ref": "#/components/schemas/RequestsPatchAdSetV24Q1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/RequestsPatchAdSetV24Q1" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/RequestsPatchAdSetV24Q1" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/RequestsPatchAdSetV24Q1" + } + } + }, + "x-bodyName": "adSets" + }, + "responses": { + "200": { + "description": "List of patched adSets.", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ResponsesAdSetIdV24Q1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResponsesAdSetIdV24Q1" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ResponsesAdSetIdV24Q1" + } + } + } + }, + "401": { + "description": "The API client is not properly authenticated.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "403": { + "description": "The API client is not authorized to access this resource or the resource does not exist.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + } + } + }, + "post": { + "tags": [ + "Campaign" + ], + "description": "Create the specified ad set", + "operationId": "CreateAdSetV24Q1", + "requestBody": { + "description": "the ad sets to create", + "content": { + "application/json-patch+json": { + "schema": { + "$ref": "#/components/schemas/CreateAdSetV24Q1Request" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateAdSetV24Q1Request" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/CreateAdSetV24Q1Request" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/CreateAdSetV24Q1Request" + } + } + }, + "required": true, + "x-bodyName": "adSet" + }, + "responses": { + "201": { + "description": "The ad set that has been created and errors / warnings", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ResponseReadAdSetV24Q1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResponseReadAdSetV24Q1" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ResponseReadAdSetV24Q1" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "401": { + "description": "The API client is not properly authenticated.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + } + } + } + }, + "/2024-07/marketing-solutions/ad-sets/search": { + "post": { + "tags": [ + "Campaign" + ], + "description": "Search for ad sets", + "operationId": "SearchAdSetsV24Q1", + "requestBody": { + "content": { + "application/json-patch+json": { + "schema": { + "$ref": "#/components/schemas/AdSetSearchRequestV24Q1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/AdSetSearchRequestV24Q1" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/AdSetSearchRequestV24Q1" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/AdSetSearchRequestV24Q1" + } + } + }, + "x-bodyName": "request" + }, + "responses": { + "200": { + "description": "data for the ad sets", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ResponsesReadAdSetV24Q1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResponsesReadAdSetV24Q1" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ResponsesReadAdSetV24Q1" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "403": { + "description": "The API client is not authorized to access this resource or the resource does not exist.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "401": { + "description": "The API client is not properly authenticated.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + } + } + } + }, + "/2024-07/marketing-solutions/ad-sets/start": { + "post": { + "tags": [ + "Campaign" + ], + "description": "Start the specified list of ad sets", + "operationId": "StartAdSets", + "requestBody": { + "description": "All the ad sets to start", + "content": { + "application/json-patch+json": { + "schema": { + "$ref": "#/components/schemas/RequestsAdSetId" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/RequestsAdSetId" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/RequestsAdSetId" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/RequestsAdSetId" + } + } + }, + "x-bodyName": "adSets" + }, + "responses": { + "200": { + "description": "List of ad sets that have been started and errors / warnings by ad set", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ResponsesAdSetId" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResponsesAdSetId" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ResponsesAdSetId" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "401": { + "description": "The API client is not properly authenticated.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + } + } + } + }, + "/2024-07/marketing-solutions/ad-sets/stop": { + "post": { + "tags": [ + "Campaign" + ], + "description": "Stop the specified list of ad sets", + "operationId": "StopAdSets", + "requestBody": { + "description": "All the ad sets to stop", + "content": { + "application/json-patch+json": { + "schema": { + "$ref": "#/components/schemas/RequestsAdSetId" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/RequestsAdSetId" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/RequestsAdSetId" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/RequestsAdSetId" + } + } + }, + "x-bodyName": "adSets" + }, + "responses": { + "200": { + "description": "List of ad sets that have been stopped and errors / warnings by ad set", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ResponsesAdSetId" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResponsesAdSetId" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ResponsesAdSetId" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "401": { + "description": "The API client is not properly authenticated.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + } + } + } + }, + "/2024-07/marketing-solutions/ad-sets/{ad-set-id}": { + "get": { + "tags": [ + "Campaign" + ], + "description": "Get the data for the specified ad set", + "operationId": "GetAdSetV24Q1", + "parameters": [ + { + "name": "ad-set-id", + "in": "path", + "description": "Id of the ad set", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "data for the ad set", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ResponseReadAdSetV24Q1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResponseReadAdSetV24Q1" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ResponseReadAdSetV24Q1" + } + } + } + }, + "401": { + "description": "The API client is not properly authenticated.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "403": { + "description": "The API client is not authorized to access this resource or the resource does not exist.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + } + } + } + }, + "/2024-07/marketing-solutions/ad-sets/{ad-set-id}/category-bids": { + "get": { + "tags": [ + "Campaign" + ], + "description": "Get the Category Bids for all valid Categories associated to an Ad Set", + "operationId": "GetCategoryBidList", + "parameters": [ + { + "name": "ad-set-id", + "in": "path", + "description": "Id of the Ad Set", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "List of Category Bids for all valid Categories associated to an Ad Set.", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/AdSetCategoryBidListResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/AdSetCategoryBidListResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/AdSetCategoryBidListResponse" + } + } + } + }, + "401": { + "description": "The API client is not properly authenticated.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "400": { + "description": "Bad Request", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "403": { + "description": "The API client is not authorized to access this resource or the resource does not exist.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + } + } + }, + "patch": { + "tags": [ + "Campaign" + ], + "description": "Patch Category Bids for one or more Categories in a single request. Partial success policy is followed.", + "operationId": "PatchCategoryBidList", + "parameters": [ + { + "name": "ad-set-id", + "in": "path", + "description": "Id of the Ad Set", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json-patch+json": { + "schema": { + "$ref": "#/components/schemas/PatchAdSetCategoryBidListRequest" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/PatchAdSetCategoryBidListRequest" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/PatchAdSetCategoryBidListRequest" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/PatchAdSetCategoryBidListRequest" + } + } + }, + "x-bodyName": "categoryBidsToUpdate" + }, + "responses": { + "200": { + "description": "List of updated Category Bids for given Categories associated to an Ad Set.", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/PatchAdSetCategoryBidResultListResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/PatchAdSetCategoryBidResultListResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/PatchAdSetCategoryBidResultListResponse" + } + } + } + }, + "401": { + "description": "The API client is not properly authenticated.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "400": { + "description": "Bad Request", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "403": { + "description": "The API client is not authorized to access this resource or the resource does not exist.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + } + } + } + }, + "/2024-07/marketing-solutions/ad-sets/{ad-set-id}/display-multipliers": { + "get": { + "tags": [ + "Campaign" + ], + "description": "Get the Display Multipliers for all valid Categories associated to an Ad Set", + "operationId": "GetDisplayMultipliers", + "parameters": [ + { + "name": "ad-set-id", + "in": "path", + "description": "Id of the Ad Set", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "List of Display Multipliers for all valid Categories associated to an Ad Set.", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/AdSetDisplayMultiplierListResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/AdSetDisplayMultiplierListResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/AdSetDisplayMultiplierListResponse" + } + } + } + }, + "401": { + "description": "The API client is not properly authenticated.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "400": { + "description": "Bad Request", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "403": { + "description": "The API client is not authorized to access this resource or the resource does not exist.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + } + } + }, + "patch": { + "tags": [ + "Campaign" + ], + "description": "Patch Display Multipliers for one or more Categories in a single request. Partial success policy is followed.", + "operationId": "PatchDisplayMultipliers", + "parameters": [ + { + "name": "ad-set-id", + "in": "path", + "description": "Id of the Ad Set", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json-patch+json": { + "schema": { + "$ref": "#/components/schemas/PatchAdSetDisplayMultiplierListRequest" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/PatchAdSetDisplayMultiplierListRequest" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/PatchAdSetDisplayMultiplierListRequest" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/PatchAdSetDisplayMultiplierListRequest" + } + } + }, + "x-bodyName": "displayMultipliersToUpdate" + }, + "responses": { + "200": { + "description": "List of updated Display Multipliers for given Categories associated to an Ad Set.", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/PatchAdSetDisplayMultiplierResultListResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/PatchAdSetDisplayMultiplierResultListResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/PatchAdSetDisplayMultiplierResultListResponse" + } + } + } + }, + "401": { + "description": "The API client is not properly authenticated.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "400": { + "description": "Bad Request", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "403": { + "description": "The API client is not authorized to access this resource or the resource does not exist.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + } + } + } + }, + "/2024-07/marketing-solutions/campaigns": { + "patch": { + "tags": [ + "Campaign" + ], + "description": "Patch a list of Campaigns.", + "operationId": "PatchCampaigns", + "requestBody": { + "description": "List of campaigns to patch.", + "content": { + "application/json-patch+json": { + "schema": { + "$ref": "#/components/schemas/PatchCampaignListRequest" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/PatchCampaignListRequest" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/PatchCampaignListRequest" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/PatchCampaignListRequest" + } + } + }, + "x-bodyName": "request" + }, + "responses": { + "200": { + "description": "List of patched campaigns.", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/PatchResultCampaignListResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/PatchResultCampaignListResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/PatchResultCampaignListResponse" + } + } + } + }, + "401": { + "description": "The API client is not properly authenticated.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "403": { + "description": "The API client is not authorized to access this resource or the resource does not exist.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + } + } + }, + "post": { + "tags": [ + "Campaign" + ], + "description": "Create the specified campaign", + "operationId": "CreateCampaign", + "requestBody": { + "description": "the campaigns to create", + "content": { + "application/json-patch+json": { + "schema": { + "$ref": "#/components/schemas/CreateCampaignRequest" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateCampaignRequest" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/CreateCampaignRequest" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/CreateCampaignRequest" + } + } + }, + "required": true, + "x-bodyName": "marketingCampaign" + }, + "responses": { + "201": { + "description": "The campaign that has been created and errors / warnings", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/CampaignV23Q1Response" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/CampaignV23Q1Response" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/CampaignV23Q1Response" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "401": { + "description": "The API client is not properly authenticated.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + } + } + } + }, + "/2024-07/marketing-solutions/campaigns/search": { + "post": { + "tags": [ + "Campaign" + ], + "description": "Search for campaigns", + "operationId": "SearchCampaignsV23Q1", + "requestBody": { + "description": "filters on campaigns", + "content": { + "application/json-patch+json": { + "schema": { + "$ref": "#/components/schemas/CampaignSearchRequestV23Q1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/CampaignSearchRequestV23Q1" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/CampaignSearchRequestV23Q1" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/CampaignSearchRequestV23Q1" + } + } + }, + "x-bodyName": "request" + }, + "responses": { + "200": { + "description": "data for the campaigns", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/CampaignV23Q1ListResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/CampaignV23Q1ListResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/CampaignV23Q1ListResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "403": { + "description": "Forbidden", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "401": { + "description": "The API client is not properly authenticated.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + } + } + } + }, + "/2024-07/marketing-solutions/campaigns/{campaign-id}": { + "get": { + "tags": [ + "Campaign" + ], + "description": "Get the data for the specified campaign", + "operationId": "GetCampaignV23Q1", + "parameters": [ + { + "name": "campaign-id", + "in": "path", + "description": "Id of the campaign", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "data for the campaign", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/CampaignV23Q1Response" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/CampaignV23Q1Response" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/CampaignV23Q1Response" + } + } + } + }, + "401": { + "description": "The API client is not properly authenticated.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "403": { + "description": "The API client is not authorized to access this resource or the resource does not exist.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + } + } + } + }, + "/2024-07/marketing-solutions/ads/{id}": { + "delete": { + "tags": [ + "Creative" + ], + "description": "Delete an Ad", + "operationId": "DeleteAd", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "The ad identifier to delete.", + "required": true, + "style": "simple", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "204": { + "description": "The ad was deleted." + }, + "400": { + "description": "The request contained invalid parameters." + }, + "401": { + "description": "The request was not properly authorized." + }, + "500": { + "description": "A non-request based error occurred on the server." + } + } + }, + "get": { + "tags": [ + "Creative" + ], + "description": "Get an Ad from its id", + "operationId": "GetAd", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "The ad identifier to retrieve.", + "required": true, + "style": "simple", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "The found ad is returned.", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/AdResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/AdResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/AdResponse" + } + } + } + }, + "400": { + "description": "The request contained invalid parameters.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "401": { + "description": "The request was not properly authorized.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "500": { + "description": "A non-request based error occurred on the server.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + } + } + } + }, + "/2024-07/marketing-solutions/advertisers/{advertiser-id}/ads": { + "get": { + "tags": [ + "Creative" + ], + "description": "Get the list of self-services Ads for a given advertiser", + "operationId": "GetAdvertiserAds", + "parameters": [ + { + "name": "advertiser-id", + "in": "path", + "description": "The advertiser identifier.", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "limit", + "in": "query", + "description": "The number of ads to be returned. The default is 50.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "offset", + "in": "query", + "description": "The (zero-based) offset into the collection of ads. The default is 0.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "The list of self-services Ads is returned.", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/AdListResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/AdListResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/AdListResponse" + } + } + } + }, + "400": { + "description": "The request contained invalid parameters.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "401": { + "description": "The request was not properly authorized.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "500": { + "description": "A non-request based error occurred on the server.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + } + } + }, + "post": { + "tags": [ + "Creative" + ], + "description": "Create an Ad", + "operationId": "CreateAdvertiserAd", + "parameters": [ + { + "name": "advertiser-id", + "in": "path", + "description": "The advertiser identifier.", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json-patch+json": { + "schema": { + "$ref": "#/components/schemas/AdWriteRequest" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/AdWriteRequest" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/AdWriteRequest" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/AdWriteRequest" + } + } + }, + "required": true, + "x-bodyName": "request" + }, + "responses": { + "201": { + "description": "The created Ad is returned.", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/AdResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/AdResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/AdResponse" + } + } + } + }, + "400": { + "description": "The request contained invalid parameters.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "401": { + "description": "The request was not properly authorized.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "500": { + "description": "A non-request based error occurred on the server.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + } + } + } + }, + "/2024-07/marketing-solutions/advertisers/{advertiser-id}/coupons": { + "get": { + "tags": [ + "Creative" + ], + "description": "Get the list of self-services Coupons for a given advertiser", + "operationId": "GetAdvertiserCoupons", + "parameters": [ + { + "name": "advertiser-id", + "in": "path", + "description": "The advertiser identifier.", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "limit", + "in": "query", + "description": "The number of coupons to be returned. The default is 50.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "offset", + "in": "query", + "description": "The (zero-based) offset into the collection of coupons. The default is 0.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "The list of self-services Coupons is returned.", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/CouponListResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/CouponListResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/CouponListResponse" + } + } + } + }, + "400": { + "description": "The request contained invalid parameters.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "403": { + "description": "The request was not properly authorized.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + } + } + }, + "post": { + "tags": [ + "Creative" + ], + "description": "Create a Coupon", + "operationId": "CreateAdvertiserCoupon", + "parameters": [ + { + "name": "advertiser-id", + "in": "path", + "description": "The advertiser identifier.", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json-patch+json": { + "schema": { + "$ref": "#/components/schemas/CreateCouponRequest" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateCouponRequest" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/CreateCouponRequest" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/CreateCouponRequest" + } + } + }, + "required": true, + "x-bodyName": "request" + }, + "responses": { + "201": { + "description": "The created Coupon is returned.", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/CouponResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/CouponResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/CouponResponse" + } + } + } + }, + "400": { + "description": "The request contained invalid parameters.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "403": { + "description": "The request was not properly authorized.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + } + } + } + }, + "/2024-07/marketing-solutions/advertisers/{advertiser-id}/coupons-supported-sizes": { + "get": { + "tags": [ + "Creative" + ], + "description": "Get the list of Coupon supported sizes", + "operationId": "GetAdvertiserCouponSupportedSizes", + "parameters": [ + { + "name": "advertiser-id", + "in": "path", + "description": "The advertiser identifier.", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "ad-set-id", + "in": "query", + "description": "The ad set id on which you want to check the Coupon supported sizes.", + "style": "form", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "The list of Coupon supported sizes is returned.", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/CouponSupportedSizesResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/CouponSupportedSizesResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/CouponSupportedSizesResponse" + } + } + } + }, + "400": { + "description": "The request contained invalid parameters.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "403": { + "description": "The request was not properly authorized.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + } + } + } + }, + "/2024-07/marketing-solutions/advertisers/{advertiser-id}/coupons/{id}": { + "delete": { + "tags": [ + "Creative" + ], + "description": "Delete a Coupon", + "operationId": "DeleteAdvertiserCoupon", + "parameters": [ + { + "name": "advertiser-id", + "in": "path", + "description": "The advertiser identifier.", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "id", + "in": "path", + "description": "The Coupon identifier to delete.", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "The Coupon was deleted." + }, + "400": { + "description": "The request contained invalid parameters." + }, + "403": { + "description": "The request was not properly authorized." + } + } + }, + "get": { + "tags": [ + "Creative" + ], + "description": "Get a Coupon from its id", + "operationId": "GetAdvertiserCoupon", + "parameters": [ + { + "name": "advertiser-id", + "in": "path", + "description": "The advertiser identifier.", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "id", + "in": "path", + "description": "The Coupon identifier to retrieve.", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "The found Coupon is returned.", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/CouponResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/CouponResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/CouponResponse" + } + } + } + }, + "400": { + "description": "The request contained invalid parameters.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "403": { + "description": "The request was not properly authorized.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + } + } + }, + "put": { + "tags": [ + "Creative" + ], + "description": "Edit a specific Coupon", + "operationId": "EditAdvertiserCoupon", + "parameters": [ + { + "name": "advertiser-id", + "in": "path", + "description": "The advertiser identifier.", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "id", + "in": "path", + "description": "The Coupon identifier to edit.", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json-patch+json": { + "schema": { + "$ref": "#/components/schemas/UpdateCouponRequest" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateCouponRequest" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/UpdateCouponRequest" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/UpdateCouponRequest" + } + } + }, + "required": true, + "x-bodyName": "request" + }, + "responses": { + "200": { + "description": "The edited Coupon is returned.", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/CouponResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/CouponResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/CouponResponse" + } + } + } + }, + "400": { + "description": "The request contained invalid parameters.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + } + } + } + }, + "/2024-07/marketing-solutions/advertisers/{advertiser-id}/coupons/{id}/preview": { + "get": { + "tags": [ + "Creative" + ], + "description": "Get the preview of a specific Coupon", + "operationId": "GetAdvertiserCouponPreview", + "parameters": [ + { + "name": "advertiser-id", + "in": "path", + "description": "The advertiser identifier.", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "id", + "in": "path", + "description": "The Coupon identifier to preview.", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "width", + "in": "query", + "description": "The width of the coupon to preview.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "height", + "in": "query", + "description": "The height of the coupon to preview.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "The preview HTML of a specific Coupon is returned.", + "content": { + "text/html": { + "schema": { + "type": "string" + } + }, + "application/json": { + "schema": { + "type": "string" + } + }, + "text/json": { + "schema": { + "type": "string" + } + } + } + }, + "400": { + "description": "The request contained invalid parameters.", + "content": { + "text/html": { }, + "application/json": { }, + "text/json": { } + } + }, + "403": { + "description": "The request was not properly authorized.", + "content": { + "text/html": { }, + "application/json": { }, + "text/json": { } + } + } + } + } + }, + "/2024-07/marketing-solutions/advertisers/{advertiser-id}/creatives": { + "get": { + "tags": [ + "Creative" + ], + "description": "Get the list of self-services Creatives for a given advertiser", + "operationId": "GetAdvertiserCreatives", + "parameters": [ + { + "name": "advertiser-id", + "in": "path", + "description": "The advertiser identifier.", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "limit", + "in": "query", + "description": "The number of creatives to be returned. The default is 50.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "offset", + "in": "query", + "description": "The (zero-based) offset into the collection of creatives. The default is 0.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "The list of self-services Creatives is returned.", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/CreativeListResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreativeListResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/CreativeListResponse" + } + } + } + }, + "400": { + "description": "The request contained invalid parameters.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "401": { + "description": "The request was not properly authorized.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "500": { + "description": "A non-request based error occurred on the server.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + } + } + }, + "post": { + "tags": [ + "Creative" + ], + "description": "Create a Creative", + "operationId": "CreateAdvertiserCreative", + "parameters": [ + { + "name": "advertiser-id", + "in": "path", + "description": "The advertiser identifier.", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json-patch+json": { + "schema": { + "$ref": "#/components/schemas/CreativeWriteRequest" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreativeWriteRequest" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/CreativeWriteRequest" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/CreativeWriteRequest" + } + } + }, + "required": true, + "x-bodyName": "request" + }, + "responses": { + "201": { + "description": "The created creative is returned.", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/CreativeResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreativeResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/CreativeResponse" + } + } + } + }, + "400": { + "description": "The request contained invalid parameters.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "401": { + "description": "The request was not properly authorized.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "500": { + "description": "A non-request based error occurred on the server.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + } + } + } + }, + "/2024-07/marketing-solutions/creatives/{id}": { + "delete": { + "tags": [ + "Creative" + ], + "description": "Delete a Creative if there are no ads binded to it", + "operationId": "DeleteCreative", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "The creative identifier to delete.", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "The creative was deleted." + }, + "400": { + "description": "The request contained invalid parameters." + }, + "401": { + "description": "The request was not properly authorized." + }, + "500": { + "description": "A non-request based error occurred on the server." + } + } + }, + "get": { + "tags": [ + "Creative" + ], + "description": "Get a Creative from its id", + "operationId": "GetCreative", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "The creative identifier to retrieve.", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "The found creative is returned.", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/CreativeResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreativeResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/CreativeResponse" + } + } + } + }, + "400": { + "description": "The request contained invalid parameters.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "401": { + "description": "The request was not properly authorized.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "500": { + "description": "A non-request based error occurred on the server.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + } + } + }, + "put": { + "tags": [ + "Creative" + ], + "description": "Edit a specific Creative", + "operationId": "EditCreative", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "The creative identifier to edit.", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json-patch+json": { + "schema": { + "$ref": "#/components/schemas/CreativeWriteRequest" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreativeWriteRequest" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/CreativeWriteRequest" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/CreativeWriteRequest" + } + } + }, + "required": true, + "x-bodyName": "request" + }, + "responses": { + "200": { + "description": "The edited creative is returned.", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/CreativeResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreativeResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/CreativeResponse" + } + } + } + }, + "400": { + "description": "The request contained invalid parameters.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "401": { + "description": "The request was not properly authorized.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "500": { + "description": "A non-request based error occurred on the server.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + } + } + } + }, + "/2024-07/marketing-solutions/creatives/{id}/preview": { + "post": { + "tags": [ + "Creative" + ], + "description": "Generate a preview of a specific Creative", + "operationId": "GenerateCreativePreview", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "The Creative identifier to preview.", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + }, + { + "name": "width", + "in": "query", + "description": "The width of the Creative to preview.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "height", + "in": "query", + "description": "The height of the Creative to preview.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "responses": { + "200": { + "description": "The preview HTML of a specific Creative is returned.", + "content": { + "text/html": { + "schema": { + "type": "string" + } + }, + "application/json": { + "schema": { + "type": "string" + } + }, + "text/json": { + "schema": { + "type": "string" + } + } + } + }, + "400": { + "description": "The request contained invalid parameters.", + "content": { + "text/html": { }, + "application/json": { }, + "text/json": { } + } + }, + "403": { + "description": "The request was not properly authorized.", + "content": { + "text/html": { }, + "application/json": { }, + "text/json": { } + } + } + } + } + }, + "/2024-07/log-level/advertisers/{advertiser-id}/report": { + "post": { + "tags": [ + "Analytics" + ], + "description": "This Statistics endpoint provides publisher data.", + "operationId": "GetTransparencyReport", + "parameters": [ + { + "name": "advertiser-id", + "in": "path", + "description": "The advertiser id to fetch the transparency data.", + "required": true, + "style": "simple", + "schema": { + "type": "integer", + "format": "int32" + } + } + ], + "requestBody": { + "content": { + "application/json-patch+json": { + "schema": { + "$ref": "#/components/schemas/TransparencyQueryMessage" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/TransparencyQueryMessage" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/TransparencyQueryMessage" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/TransparencyQueryMessage" + } + } + }, + "x-bodyName": "queryMessage" + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TransparencyReportDataMessage" + }, + "example": { + "data": [ + { + "type": "TransparencyReport", + "attributes": { + "advertiserId": "123", + "tokenValidUntil": "2021-01-31T00:00:00.0000000+00:00", + "files": [ + { + "fileName": "report.csv", + "url": "https://www.example.com/transparency" + } + ] + } + } + ] + } + }, + "text/plain": { + "schema": { + "$ref": "#/components/schemas/TransparencyReportDataMessage" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/TransparencyReportDataMessage" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemsDetails" + }, + "example": { + "errors": [ + { + "traceId": "b7888125-dddb-c94e-9240-eb930c4ea146", + "traceIdentifier": "1234e1717d88aa8a", + "type": "validation", + "code": "required-field", + "instance": "/report", + "title": "Start date and end date are required." + } + ] + } + }, + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ProblemsDetails" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ProblemsDetails" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemsDetails" + }, + "example": { + "errors": [ + { + "traceId": "b7888125-dddb-c94e-9240-eb930c4ea146", + "traceIdentifier": "1234e1717d88aa8a", + "type": "access-control", + "code": "insufficient-advertiser-permission", + "instance": "/report", + "title": "Insufficient advertiser permission.", + "detail": "You do not have the rights to report on this advertiser." + } + ] + } + }, + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ProblemsDetails" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ProblemsDetails" + } + } + } + } + } + } + }, + "/2024-07/placements/report": { + "post": { + "tags": [ + "Analytics" + ], + "description": "Your ads are placed in different domains (publishers) and environments (websites and apps). Thanks to the placements endpoint, you can analyse the performances for each publisher, comparing displays, clicks and sales generated.", + "operationId": "GetPlacementsReport", + "requestBody": { + "content": { + "application/json-patch+json": { + "schema": { + "$ref": "#/components/schemas/PlacementsReportQueryDataMessage" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/PlacementsReportQueryDataMessage" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/PlacementsReportQueryDataMessage" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/PlacementsReportQueryDataMessage" + } + } + }, + "x-bodyName": "dataMessage" + }, + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "type": "string", + "format": "binary" + } + }, + "application/json": { + "schema": { + "type": "string", + "format": "binary" + } + }, + "text/json": { + "schema": { + "type": "string", + "format": "binary" + } + }, + "text/csv": { + "schema": { + "type": "string", + "format": "binary" + } + }, + "text/xml": { + "schema": { + "type": "string", + "format": "binary" + } + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemsDetails" + }, + "example": { + "errors": [ + { + "traceId": "b7888125-dddb-c94e-9240-eb930c4ea146", + "traceIdentifier": "1234e1717d88aa8a", + "type": "validation", + "code": "required-field", + "instance": "/report", + "title": "Start date and end date are required." + } + ] + } + }, + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ProblemsDetails" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ProblemsDetails" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/ProblemsDetails" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/ProblemsDetails" + } + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": { + "schema": { + "$ref": "#/components/schemas/ProblemsDetails" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemsDetails" + }, + "example": { + "errors": [ + { + "traceId": "b7888125-dddb-c94e-9240-eb930c4ea146", + "traceIdentifier": "1234e1717d88aa8a", + "type": "access-control", + "code": "insufficient-advertiser-permission", + "instance": "/report", + "title": "Insufficient advertiser permission.", + "detail": "You do not have the rights to report on this advertiser." + } + ] + } + }, + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ProblemsDetails" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ProblemsDetails" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/ProblemsDetails" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/ProblemsDetails" + } + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": { + "schema": { + "$ref": "#/components/schemas/ProblemsDetails" + } + } + } + } + } + } + }, + "/2024-07/statistics/report": { + "post": { + "tags": [ + "Analytics" + ], + "description": "This Statistics endpoint provides adset related data. It is an upgrade of our previous Statistics endpoint, and includes new metrics and customization capabilities.", + "operationId": "GetAdsetReport", + "requestBody": { + "content": { + "application/json-patch+json": { + "schema": { + "$ref": "#/components/schemas/StatisticsReportQueryMessage" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/StatisticsReportQueryMessage" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/StatisticsReportQueryMessage" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/StatisticsReportQueryMessage" + } + } + }, + "x-bodyName": "reportQuery" + }, + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "type": "string", + "format": "binary" + } + }, + "application/json": { + "schema": { + "type": "string", + "format": "binary" + } + }, + "text/json": { + "schema": { + "type": "string", + "format": "binary" + } + }, + "text/csv": { + "schema": { + "type": "string", + "format": "binary" + } + }, + "text/xml": { + "schema": { + "type": "string", + "format": "binary" + } + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemsDetails" + }, + "example": { + "errors": [ + { + "traceId": "b7888125-dddb-c94e-9240-eb930c4ea146", + "traceIdentifier": "1234e1717d88aa8a", + "type": "validation", + "code": "required-field", + "instance": "/report", + "title": "Start date and end date are required." + } + ] + } + }, + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ProblemsDetails" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ProblemsDetails" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/ProblemsDetails" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/ProblemsDetails" + } + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": { + "schema": { + "$ref": "#/components/schemas/ProblemsDetails" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemsDetails" + }, + "example": { + "errors": [ + { + "traceId": "b7888125-dddb-c94e-9240-eb930c4ea146", + "traceIdentifier": "1234e1717d88aa8a", + "type": "access-control", + "code": "insufficient-advertiser-permission", + "instance": "/report", + "title": "Insufficient advertiser permission.", + "detail": "You do not have the rights to report on this advertiser." + } + ] + } + }, + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ProblemsDetails" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ProblemsDetails" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/ProblemsDetails" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/ProblemsDetails" + } + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": { + "schema": { + "$ref": "#/components/schemas/ProblemsDetails" + } + } + } + } + } + } + }, + "/2024-07/transactions/report": { + "post": { + "tags": [ + "Analytics" + ], + "description": "This Transactions endpoint provides transactions id related data.", + "operationId": "GetTransactionsReport", + "requestBody": { + "content": { + "application/json-patch+json": { + "schema": { + "$ref": "#/components/schemas/TransactionsReportQueryDataMessage" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/TransactionsReportQueryDataMessage" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/TransactionsReportQueryDataMessage" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/TransactionsReportQueryDataMessage" + } + } + }, + "x-bodyName": "dataMessage" + }, + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "type": "string", + "format": "binary" + } + }, + "application/json": { + "schema": { + "type": "string", + "format": "binary" + } + }, + "text/json": { + "schema": { + "type": "string", + "format": "binary" + } + }, + "text/csv": { + "schema": { + "type": "string", + "format": "binary" + } + }, + "text/xml": { + "schema": { + "type": "string", + "format": "binary" + } + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemsDetails" + }, + "example": { + "errors": [ + { + "traceId": "b7888125-dddb-c94e-9240-eb930c4ea146", + "traceIdentifier": "1234e1717d88aa8a", + "type": "validation", + "code": "required-field", + "instance": "/report", + "title": "Start date and end date are required." + } + ] + } + }, + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ProblemsDetails" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ProblemsDetails" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/ProblemsDetails" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/ProblemsDetails" + } + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": { + "schema": { + "$ref": "#/components/schemas/ProblemsDetails" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemsDetails" + }, + "example": { + "errors": [ + { + "traceId": "b7888125-dddb-c94e-9240-eb930c4ea146", + "traceIdentifier": "1234e1717d88aa8a", + "type": "access-control", + "code": "insufficient-advertiser-permission", + "instance": "/report", + "title": "Insufficient advertiser permission.", + "detail": "You do not have the rights to report on this advertiser." + } + ] + } + }, + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ProblemsDetails" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ProblemsDetails" + } + }, + "text/csv": { + "schema": { + "$ref": "#/components/schemas/ProblemsDetails" + } + }, + "text/xml": { + "schema": { + "$ref": "#/components/schemas/ProblemsDetails" + } + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": { + "schema": { + "$ref": "#/components/schemas/ProblemsDetails" + } + } + } + } + } + } + }, + "/2024-07/advertisers/me": { + "get": { + "tags": [ + "Advertiser" + ], + "description": "Fetch the portfolio of Advertisers for this account", + "operationId": "ApiPortfolioGet", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPortfolioResponse" + }, + "example": { + "data": [ + { + "type": "advertiser", + "id": "13", + "attributes": { + "advertiserName": "ClientName1" + } + }, + { + "type": "advertiser", + "id": "1352", + "attributes": { + "advertiserName": "ClientName2" + } + }, + { + "type": "advertiser", + "id": "73550", + "attributes": { + "advertiserName": "ClientName3" + } + } + ], + "errors": [ ], + "warnings": [ ] + } + }, + "text/plain": { + "schema": { + "$ref": "#/components/schemas/GetPortfolioResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/GetPortfolioResponse" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/GetPortfolioResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/GetPortfolioResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/GetPortfolioResponse" + } + } + } + } + } + } + } + }, + "components": { + "schemas": { + "DeleteAudienceContactListResponse": { + "required": [ + "data", + "errors", + "warnings" + ], + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/BasicAudienceDefinition" + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AudienceError" + } + }, + "warnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AudienceWarning" + } + } + }, + "description": "Response of a contactlist deletion" + }, + "ErrorCodeResponse": { + "required": [ + "errors" + ], + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AudienceError" + } + }, + "warnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AudienceWarning" + }, + "nullable": true + } + }, + "description": "Definition of the error code" + }, + "ModifyAudienceResponse": { + "required": [ + "data", + "errors", + "warnings" + ], + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/ContactlistOperation" + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AudienceError" + } + }, + "warnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AudienceWarning" + } + } + }, + "description": "Parameters to modify an audience" + }, + "ContactlistAmendmentRequest": { + "required": [ + "data" + ], + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/ContactlistAmendment" + } + }, + "description": "Request for a contactlist amendment" + }, + "BasicAudienceDefinition": { + "required": [ + "id", + "type" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "the id of the entity type" + }, + "type": { + "type": "string", + "description": "the name of the entity type" + }, + "attributes": { + "$ref": "#/components/schemas/AudienceNameDescription" + } + }, + "description": "Common definition of an audience" + }, + "AudienceError": { + "required": [ + "code", + "instance", + "type" + ], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "description": "(REQUIRED) The Correlation ID provided by the Gateway. It is also a unique identifier for this particular occurrence of the problem.", + "nullable": true + }, + "type": { + "enum": [ + "access-control", + "authentication", + "authorization", + "availability", + "deprecation", + "quota", + "validation" + ], + "type": "string", + "description": "(REQUIRED) The classification of the error" + }, + "code": { + "type": "string", + "description": "(REQUIRED) A machine-readable unique error code, expressed as a string value. The format used must be kebab-case." + }, + "instance": { + "type": "string", + "description": "(REQUIRED) A URI reference that identifies the specific occurrence of the problem" + }, + "title": { + "type": "string", + "description": "(RECOMMENDED) A short, human-readable summary of the problem type", + "nullable": true + }, + "detail": { + "type": "string", + "description": "(RECOMMENDED) A human-readable explanation specific to this occurrence of the problem", + "nullable": true + }, + "source": { + "type": "object", + "description": "(OPTIONAL) A machine-readable structure to reference to the exact location(s) causing the error(s)", + "nullable": true + }, + "stackTrace": { + "type": "array", + "items": { + "type": "string" + }, + "description": "(NEVER IN PRODUCTION) A human-readable stacktrace produced by the implementation technology", + "nullable": true + } + }, + "description": "Definition of an audience error" + }, + "AudienceWarning": { + "required": [ + "code", + "detail", + "instance", + "type" + ], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "description": "(REQUIRED) The Correlation ID provided by the Gateway. It is also a unique identifier for this particular occurrence of the problem.", + "nullable": true + }, + "type": { + "enum": [ + "access-control", + "authentication", + "authorization", + "availability", + "deprecation", + "quota", + "validation" + ], + "type": "string", + "description": "(REQUIRED) The classification of the error" + }, + "code": { + "type": "string", + "description": "(REQUIRED) A machine-readable unique error code, expressed as a string value. The format used must be kebab-case." + }, + "instance": { + "type": "string", + "description": "(REQUIRED) A URI reference that identifies the specific occurrence of the problem" + }, + "title": { + "type": "string", + "description": "(RECOMMENDED) A short, human-readable summary of the problem type", + "nullable": true + }, + "detail": { + "type": "string", + "description": "(REQUIRED) A human-readable explanation specific to this occurrence of the problem" + }, + "source": { + "type": "object", + "description": "(OPTIONAL) A machine-readable structure to reference to the exact location(s) causing the error(s)", + "nullable": true + }, + "stackTrace": { + "type": "array", + "items": { + "type": "string" + }, + "description": "(NEVER IN PRODUCTION) A human-readable stacktrace produced by the implementation technology", + "nullable": true + } + }, + "description": "Definition of the warning" + }, + "ContactlistOperation": { + "required": [ + "attributes", + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "the name of the entity type" + }, + "attributes": { + "required": [ + "operation" + ], + "type": "object", + "properties": { + "contactListId": { + "type": "integer", + "description": "the affected user list id", + "nullable": true + }, + "operation": { + "type": "string", + "description": "The action recorded" + }, + "requestDate": { + "type": "string", + "description": "When the action was recorded", + "format": "date-time", + "nullable": true + }, + "identifierType": { + "type": "string", + "description": "The schema specified for of the identifiers", + "nullable": true + }, + "nbValidIdentifiers": { + "type": "integer", + "description": "How many identifiers were valid for the specified schema", + "nullable": true + }, + "nbInvalidIdentifiers": { + "type": "integer", + "description": "How many identifiers were invalid for the specified schema", + "nullable": true + }, + "sampleInvalidIdentifiers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A sample of invalid identifiers if there is some", + "nullable": true + } + }, + "description": "the contactlist operation attributes" + } + }, + "description": "Response definition of a contactlist operation" + }, + "ContactlistAmendment": { + "required": [ + "attributes", + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "User List", + "example": "ContactlistAmendment" + }, + "attributes": { + "required": [ + "identifiers", + "operation" + ], + "type": "object", + "properties": { + "operation": { + "enum": [ + "add", + "remove" + ], + "type": "string", + "description": "Operation to add or remove users" + }, + "identifierType": { + "enum": [ + "email", + "madid", + "identityLink", + "gum", + "customerid", + "phoneNumber" + ], + "type": "string", + "description": "What type of identifiers are used", + "nullable": true + }, + "identifiers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The users tos add or remove, each in the schema specified" + }, + "gumCallerId": { + "type": "integer", + "description": "The Gum caller id of the advertiser patching identifiers of type Gum", + "nullable": true + } + }, + "description": "the name of the entity type" + } + }, + "description": "Parameters for the amendment of a contactlist" + }, + "AudienceNameDescription": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name to designate the audience by", + "nullable": true + }, + "description": { + "type": "string", + "description": "The description of the audience", + "nullable": true + } + }, + "description": "Description of an audience with name and detailed description" + }, + "ApplicationSummaryModelResponse": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/ApplicationSummaryModelResource" + }, + "warnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true + } + }, + "description": "A top-level object that encapsulates a Criteo API response for a single value" + }, + "ApplicationSummaryModelResource": { + "type": "object", + "properties": { + "type": { + "type": "string", + "nullable": true + }, + "attributes": { + "$ref": "#/components/schemas/ApplicationSummaryModel" + } + }, + "description": "A top-level object that encapsulates a Criteo API response for a single value" + }, + "CommonProblem": { + "type": "object", + "properties": { + "traceId": { + "type": "string", + "description": "The request correlation ID this problem comes from.", + "nullable": true + }, + "traceIdentifier": { + "type": "string", + "description": "The request correlation ID this problem comes from. (deprecated, use traceId instead)", + "nullable": true + }, + "type": { + "enum": [ + "unknown", + "access-control", + "authentication", + "authorization", + "availability", + "deprecation", + "quota", + "validation" + ], + "type": "string", + "description": "The problem's category.", + "nullable": true + }, + "code": { + "type": "string", + "description": "A machine-readable error code, expressed as a string value.", + "nullable": true + }, + "instance": { + "type": "string", + "description": "A URI that identifies the specific occurrence of the problem.", + "nullable": true + }, + "title": { + "type": "string", + "description": "A short human-readable description of the problem type", + "nullable": true + }, + "detail": { + "type": "string", + "description": "A human-readable explanation specific to this occurrence of the problem", + "nullable": true + }, + "source": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A machine-readable structure to reference to the exact location(s) causing the error(s)", + "nullable": true + }, + "stackTrace": { + "type": "string", + "nullable": true + } + }, + "description": "Common problem object." + }, + "ApplicationSummaryModel": { + "type": "object", + "properties": { + "applicationId": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "name": { + "type": "string", + "nullable": true + }, + "organizationId": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "description": { + "type": "string", + "nullable": true + }, + "criteoService": { + "type": "string", + "nullable": true + } + }, + "description": "Used for the /me endpoint. Contains information about the currently authenticated application that we accept to give to our clients" + }, + "AdSetAudienceLinkEntityV1Response": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/AdSetAudienceLinkEntityV1Resource" + }, + "warnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true + } + }, + "description": "A top-level object that encapsulates a Criteo API response for a single entity" + }, + "AudienceSegmentEntityV1ListResponse": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AudienceSegmentEntityV1Resource" + }, + "nullable": true + }, + "warnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true + } + }, + "description": "A top-level object that encapsulates a Criteo API response for several entities" + }, + "AudienceSegmentSizeEntityV1ListResponse": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AudienceSegmentSizeEntityV1Resource" + }, + "nullable": true + }, + "warnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true + } + }, + "description": "A top-level object that encapsulates a Criteo API response for several entities" + }, + "AudienceSegmentIdEntityV1ListResponse": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AudienceSegmentIdEntityV1Resource" + }, + "nullable": true + }, + "warnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true + } + }, + "description": "A top-level object that encapsulates a Criteo API response for several entities" + }, + "AudienceSegmentSizeEstimationV1Response": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/AudienceSegmentSizeEstimationV1Resource" + }, + "warnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true + } + }, + "description": "A top-level object that encapsulates a Criteo API response for a single value" + }, + "InMarketAudienceSegmentBrandEntityV1ListResponse": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/InMarketAudienceSegmentBrandEntityV1Resource" + }, + "nullable": true + }, + "warnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true + } + }, + "description": "A top-level object that encapsulates a Criteo API response for several entities" + }, + "InMarketAudienceSegmentInterestEntityV1ListResponse": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/InMarketAudienceSegmentInterestEntityV1Resource" + }, + "nullable": true + }, + "warnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true + } + }, + "description": "A top-level object that encapsulates a Criteo API response for several entities" + }, + "AudienceSegmentEntityV1AudienceSegmentSearchMetadataV1ListResponse": { + "type": "object", + "properties": { + "meta": { + "$ref": "#/components/schemas/AudienceSegmentSearchMetadataV1" + }, + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AudienceSegmentEntityV1Resource" + }, + "nullable": true + }, + "warnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true + } + }, + "description": "A top-level object that encapsulates a Criteo API response for several entities and metadata" + }, + "ContactListStatisticsEntityV1Response": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/ContactListStatisticsEntityV1Resource" + }, + "warnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true + } + }, + "description": "A top-level object that encapsulates a Criteo API response for a single entity" + }, + "AudienceEntityV1ListResponse": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AudienceEntityV1Resource" + }, + "nullable": true + }, + "warnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true + } + }, + "description": "A top-level object that encapsulates a Criteo API response for several entities" + }, + "AudienceSizeEntityV1ListResponse": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AudienceSizeEntityV1Resource" + }, + "nullable": true + }, + "warnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true + } + }, + "description": "A top-level object that encapsulates a Criteo API response for several entities" + }, + "AudienceIdEntityV1ListResponse": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AudienceIdEntityV1Resource" + }, + "nullable": true + }, + "warnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true + } + }, + "description": "A top-level object that encapsulates a Criteo API response for several entities" + }, + "AudienceSizeEstimationV1Response": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/AudienceSizeEstimationV1Resource" + }, + "warnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true + } + }, + "description": "A top-level object that encapsulates a Criteo API response for a single value" + }, + "AudienceEntityV1AudienceSearchMetadataV1ListResponse": { + "type": "object", + "properties": { + "meta": { + "$ref": "#/components/schemas/AudienceSearchMetadataV1" + }, + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AudienceEntityV1Resource" + }, + "nullable": true + }, + "warnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true + } + }, + "description": "A top-level object that encapsulates a Criteo API response for several entities and metadata" + }, + "AdSetAudienceLinkInputEntityV1": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/AdSetAudienceLinkEntityV1Resource" + } + }, + "description": "Input to set audience ad set link." + }, + "AudienceSegmentBulkUpdateInputV1": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AudienceSegmentUpdateEntityV1Resource" + }, + "nullable": true + } + }, + "description": "Input to update one or more segments." + }, + "AudienceSegmentComputeSizesInputV1": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AudienceSegmentComputeSizeEntityV1Resource" + }, + "nullable": true + } + }, + "description": "Input to retrieve the size of one or more segments." + }, + "AudienceSegmentBulkCreateInputV1": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AudienceSegmentCreateEntityV1Resource" + }, + "nullable": true + } + }, + "description": "Input to create one or more audience segments." + }, + "AudienceSegmentBulkDeleteInputV1": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AudienceSegmentDeleteEntityV1Resource" + }, + "nullable": true + } + }, + "description": "Input to delete one or more segments." + }, + "AudienceSegmentEstimateSizeInputV1": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/AudienceSegmentSizeEstimationEntityV1Resource" + } + }, + "description": "Input to estimate the size of an audience segment.." + }, + "AudienceSegmentSearchInputV1": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/AudienceSegmentSearchEntityV1Resource" + } + }, + "description": "Audience segment search parameter" + }, + "AudienceBulkUpdateInputV1": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AudienceUpdateEntityV1Resource" + }, + "nullable": true + } + }, + "description": "Input to update one or more audiences." + }, + "AudienceComputeSizesInputV1": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AudienceComputeSizeEntityV1Resource" + }, + "nullable": true + } + }, + "description": "Input to retrieve the size of one or more audiences." + }, + "AudienceBulkCreateInputV1": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AudienceCreateEntityV1Resource" + }, + "nullable": true + } + }, + "description": "Input to create one or more audiences." + }, + "AudienceBulkDeleteInputV1": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AudienceDeleteEntityV1Resource" + }, + "nullable": true + } + }, + "description": "Input to delete one or more audiences." + }, + "AudienceEstimateSizeInputV1": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/AudienceEstimateSizeEntityV1Resource" + } + }, + "description": "Input to estimate the size of an audience." + }, + "AudienceSearchInputV1": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/AudienceSearchEntityV1Resource" + } + }, + "description": "Audience search parameter" + }, + "AdSetAudienceLinkEntityV1Resource": { + "type": "object", + "properties": { + "attributes": { + "$ref": "#/components/schemas/AdSetAudienceLinkEntityV1" + }, + "id": { + "type": "string", + "description": "Id of the entity", + "nullable": true + }, + "type": { + "type": "string", + "nullable": true + } + }, + "description": "A class that represents a domain entity exposed by an API" + }, + "AudienceSegmentEntityV1Resource": { + "type": "object", + "properties": { + "attributes": { + "$ref": "#/components/schemas/AudienceSegmentEntityV1" + }, + "id": { + "type": "string", + "description": "Id of the entity", + "nullable": true + }, + "type": { + "type": "string", + "nullable": true + } + }, + "description": "A class that represents a domain entity exposed by an API" + }, + "AudienceSegmentSizeEntityV1Resource": { + "type": "object", + "properties": { + "attributes": { + "$ref": "#/components/schemas/AudienceSegmentSizeEntityV1" + }, + "id": { + "type": "string", + "description": "Id of the entity", + "nullable": true + }, + "type": { + "type": "string", + "nullable": true + } + }, + "description": "A class that represents a domain entity exposed by an API" + }, + "AudienceSegmentIdEntityV1Resource": { + "type": "object", + "properties": { + "attributes": { + "$ref": "#/components/schemas/AudienceSegmentIdEntityV1" + }, + "id": { + "type": "string", + "description": "Id of the entity", + "nullable": true + }, + "type": { + "type": "string", + "nullable": true + } + }, + "description": "A class that represents a domain entity exposed by an API" + }, + "AudienceSegmentSizeEstimationV1Resource": { + "type": "object", + "properties": { + "type": { + "type": "string", + "nullable": true + }, + "attributes": { + "$ref": "#/components/schemas/AudienceSegmentSizeEstimationV1" + } + }, + "description": "A top-level object that encapsulates a Criteo API response for a single value" + }, + "InMarketAudienceSegmentBrandEntityV1Resource": { + "type": "object", + "properties": { + "attributes": { + "$ref": "#/components/schemas/InMarketAudienceSegmentBrandEntityV1" + }, + "id": { + "type": "string", + "description": "Id of the entity", + "nullable": true + }, + "type": { + "type": "string", + "nullable": true + } + }, + "description": "A class that represents a domain entity exposed by an API" + }, + "InMarketAudienceSegmentInterestEntityV1Resource": { + "type": "object", + "properties": { + "attributes": { + "$ref": "#/components/schemas/InMarketAudienceSegmentInterestEntityV1" + }, + "id": { + "type": "string", + "description": "Id of the entity", + "nullable": true + }, + "type": { + "type": "string", + "nullable": true + } + }, + "description": "A class that represents a domain entity exposed by an API" + }, + "AudienceSegmentSearchMetadataV1": { + "type": "object", + "properties": { + "totalItems": { + "type": "integer", + "description": "Total number of items", + "format": "int32", + "nullable": true + }, + "limit": { + "type": "integer", + "description": "Max item of the current page", + "format": "int32", + "nullable": true + }, + "offset": { + "type": "integer", + "description": "Number of item to skip", + "format": "int32", + "nullable": true + } + }, + "description": "Metadata for the audience segment search response." + }, + "ContactListStatisticsEntityV1Resource": { + "type": "object", + "properties": { + "attributes": { + "$ref": "#/components/schemas/ContactListStatisticsEntityV1" + }, + "id": { + "type": "string", + "description": "Id of the entity", + "nullable": true + }, + "type": { + "type": "string", + "nullable": true + } + }, + "description": "A class that represents a domain entity exposed by an API" + }, + "AudienceEntityV1Resource": { + "type": "object", + "properties": { + "attributes": { + "$ref": "#/components/schemas/AudienceEntityV1" + }, + "id": { + "type": "string", + "description": "Id of the entity", + "nullable": true + }, + "type": { + "type": "string", + "nullable": true + } + }, + "description": "A class that represents a domain entity exposed by an API" + }, + "AudienceSizeEntityV1Resource": { + "type": "object", + "properties": { + "attributes": { + "$ref": "#/components/schemas/AudienceSizeEntityV1" + }, + "id": { + "type": "string", + "description": "Id of the entity", + "nullable": true + }, + "type": { + "type": "string", + "nullable": true + } + }, + "description": "A class that represents a domain entity exposed by an API" + }, + "AudienceIdEntityV1Resource": { + "type": "object", + "properties": { + "attributes": { + "$ref": "#/components/schemas/AudienceIdEntityV1" + }, + "id": { + "type": "string", + "description": "Id of the entity", + "nullable": true + }, + "type": { + "type": "string", + "nullable": true + } + }, + "description": "A class that represents a domain entity exposed by an API" + }, + "AudienceSizeEstimationV1Resource": { + "type": "object", + "properties": { + "type": { + "type": "string", + "nullable": true + }, + "attributes": { + "$ref": "#/components/schemas/AudienceSizeEstimationV1" + } + }, + "description": "A top-level object that encapsulates a Criteo API response for a single value" + }, + "AudienceSearchMetadataV1": { + "type": "object", + "properties": { + "totalItems": { + "type": "integer", + "description": "Total number of items", + "format": "int32", + "nullable": true + }, + "limit": { + "type": "integer", + "description": "Max item of the current page", + "format": "int32", + "nullable": true + }, + "offset": { + "type": "integer", + "description": "Number of item to skip", + "format": "int32", + "nullable": true + } + }, + "description": "Metadata for the audience search response." + }, + "AudienceSegmentUpdateEntityV1Resource": { + "type": "object", + "properties": { + "attributes": { + "$ref": "#/components/schemas/AudienceSegmentUpdateEntityV1" + }, + "id": { + "type": "string", + "description": "Id of the entity", + "nullable": true + }, + "type": { + "type": "string", + "nullable": true + } + }, + "description": "A class that represents a domain entity exposed by an API" + }, + "AudienceSegmentComputeSizeEntityV1Resource": { + "type": "object", + "properties": { + "attributes": { + "$ref": "#/components/schemas/AudienceSegmentComputeSizeEntityV1" + }, + "id": { + "type": "string", + "description": "Id of the entity", + "nullable": true + }, + "type": { + "type": "string", + "nullable": true + } + }, + "description": "A class that represents a domain entity exposed by an API" + }, + "AudienceSegmentCreateEntityV1Resource": { + "type": "object", + "properties": { + "type": { + "type": "string", + "nullable": true + }, + "attributes": { + "$ref": "#/components/schemas/AudienceSegmentCreateEntityV1" + } + }, + "description": "A top-level object that encapsulates a Criteo API response for a single value" + }, + "AudienceSegmentDeleteEntityV1Resource": { + "type": "object", + "properties": { + "attributes": { + "$ref": "#/components/schemas/AudienceSegmentDeleteEntityV1" + }, + "id": { + "type": "string", + "description": "Id of the entity", + "nullable": true + }, + "type": { + "type": "string", + "nullable": true + } + }, + "description": "A class that represents a domain entity exposed by an API" + }, + "AudienceSegmentSizeEstimationEntityV1Resource": { + "type": "object", + "properties": { + "type": { + "type": "string", + "nullable": true + }, + "attributes": { + "$ref": "#/components/schemas/AudienceSegmentSizeEstimationEntityV1" + } + }, + "description": "A top-level object that encapsulates a Criteo API response for a single value" + }, + "AudienceSegmentSearchEntityV1Resource": { + "type": "object", + "properties": { + "type": { + "type": "string", + "nullable": true + }, + "attributes": { + "$ref": "#/components/schemas/AudienceSegmentSearchEntityV1" + } + }, + "description": "A top-level object that encapsulates a Criteo API response for a single value" + }, + "AudienceUpdateEntityV1Resource": { + "type": "object", + "properties": { + "attributes": { + "$ref": "#/components/schemas/AudienceUpdateEntityV1" + }, + "id": { + "type": "string", + "description": "Id of the entity", + "nullable": true + }, + "type": { + "type": "string", + "nullable": true + } + }, + "description": "A class that represents a domain entity exposed by an API" + }, + "AudienceComputeSizeEntityV1Resource": { + "type": "object", + "properties": { + "attributes": { + "$ref": "#/components/schemas/AudienceComputeSizeEntityV1" + }, + "id": { + "type": "string", + "description": "Id of the entity", + "nullable": true + }, + "type": { + "type": "string", + "nullable": true + } + }, + "description": "A class that represents a domain entity exposed by an API" + }, + "AudienceCreateEntityV1Resource": { + "type": "object", + "properties": { + "type": { + "type": "string", + "nullable": true + }, + "attributes": { + "$ref": "#/components/schemas/AudienceCreateEntityV1" + } + }, + "description": "A top-level object that encapsulates a Criteo API response for a single value" + }, + "AudienceDeleteEntityV1Resource": { + "type": "object", + "properties": { + "attributes": { + "$ref": "#/components/schemas/AudienceDeleteEntityV1" + }, + "id": { + "type": "string", + "description": "Id of the entity", + "nullable": true + }, + "type": { + "type": "string", + "nullable": true + } + }, + "description": "A class that represents a domain entity exposed by an API" + }, + "AudienceEstimateSizeEntityV1Resource": { + "type": "object", + "properties": { + "type": { + "type": "string", + "nullable": true + }, + "attributes": { + "$ref": "#/components/schemas/AudienceEstimateSizeEntityV1" + } + }, + "description": "A top-level object that encapsulates a Criteo API response for a single value" + }, + "AudienceSearchEntityV1Resource": { + "type": "object", + "properties": { + "type": { + "type": "string", + "nullable": true + }, + "attributes": { + "$ref": "#/components/schemas/AudienceSearchEntityV1" + } + }, + "description": "A top-level object that encapsulates a Criteo API response for a single value" + }, + "AdSetAudienceLinkEntityV1": { + "type": "object", + "properties": { + "audienceId": { + "type": "string", + "nullable": true + } + }, + "description": "Link Audience with an ad set", + "x-criteo-canonical": { + "infoType": "entity", + "name": "AdSetAudience", + "version": "v1" + } + }, + "AudienceSegmentEntityV1": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the segment", + "nullable": true + }, + "description": { + "type": "string", + "description": "Description of the segment", + "nullable": true + }, + "type": { + "enum": [ + "Unknown", + "InMarket", + "Prospecting", + "ContactList", + "Location", + "Behavioral", + "Retargeting", + "Lookalike" + ], + "type": "string", + "description": "Type of segment (read-only)", + "nullable": true + }, + "createdAt": { + "type": "string", + "description": "ISO-8601 timestamp in UTC of segment creation (read-only)", + "format": "date-time", + "nullable": true + }, + "updatedAt": { + "type": "string", + "description": "ISO-8601 timestamp in UTC of segment update (read-only)", + "format": "date-time", + "nullable": true + }, + "advertiserId": { + "type": "string", + "description": "Advertiser associated to the segment", + "nullable": true + }, + "inMarket": { + "$ref": "#/components/schemas/InMarketV1" + }, + "prospecting": { + "$ref": "#/components/schemas/ProspectingV1" + }, + "contactList": { + "$ref": "#/components/schemas/ContactListV1" + }, + "location": { + "$ref": "#/components/schemas/LocationV1" + }, + "behavioral": { + "$ref": "#/components/schemas/BehavioralV1" + }, + "retargeting": { + "$ref": "#/components/schemas/RetargetingV1" + }, + "lookalike": { + "$ref": "#/components/schemas/LookalikeV1" + } + }, + "description": "Set of rules that defines specific people to target.", + "x-criteo-canonical": { + "infoType": "entity", + "name": "AudienceSegment", + "version": "v1" + } + }, + "AudienceSegmentSizeEntityV1": { + "type": "object", + "properties": { + "size": { + "type": "integer", + "format": "int64", + "nullable": true + } + }, + "description": "Set of rules that defines specific people to target.", + "x-criteo-canonical": { + "infoType": "entity", + "name": "AudienceSegmentSize", + "version": "v1" + } + }, + "AudienceSegmentIdEntityV1": { + "type": "object", + "description": "Audience Segment entity only with its ID", + "x-criteo-canonical": { + "infoType": "entity", + "name": "AudienceSegment", + "version": "v1" + } + }, + "AudienceSegmentSizeEstimationV1": { + "type": "object", + "properties": { + "size": { + "type": "integer", + "format": "int64", + "nullable": true + } + }, + "description": "Segment size estimation" + }, + "InMarketAudienceSegmentBrandEntityV1": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the in-market segment brand", + "nullable": true + }, + "size": { + "type": "integer", + "description": "Size of the in-market segment brand", + "format": "int32", + "nullable": true + } + }, + "description": "In-market segment brand entity", + "x-criteo-canonical": { + "infoType": "entity", + "name": "InMarketAudienceSegmentBrand", + "version": "v1" + } + }, + "InMarketAudienceSegmentInterestEntityV1": { + "type": "object", + "properties": { + "parentId": { + "type": "string", + "description": "Id of the parent in-market segment interest", + "nullable": true + } + }, + "description": "In-market segment interest entity", + "x-criteo-canonical": { + "infoType": "entity", + "name": "InMarketAudienceSegmentInterest", + "version": "v1" + } + }, + "ContactListStatisticsEntityV1": { + "type": "object", + "properties": { + "numberOfIdentifiers": { + "type": "integer", + "description": "Number of identifiers in the contact list.", + "format": "int32", + "nullable": true + }, + "numberOfMatches": { + "type": "integer", + "description": "Number of matched identifiers in the contact list.", + "format": "int32", + "nullable": true + }, + "matchRate": { + "type": "number", + "description": "Percentage of matched identifiers in the contact list.\r\nCan differ from matches/identifiers depending on the contact list type.", + "format": "double", + "nullable": true + } + }, + "description": "Contact list statistics.", + "x-criteo-canonical": { + "infoType": "entity", + "name": "ContactListStatistics", + "version": "v1" + } + }, + "AudienceEntityV1": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the audience", + "nullable": true + }, + "description": { + "type": "string", + "description": "Description of the audience", + "nullable": true + }, + "createdAt": { + "type": "string", + "description": "ISO-8601 timestamp in UTC of audience creation (read-only)", + "format": "date-time", + "nullable": true + }, + "updatedAt": { + "type": "string", + "description": "ISO-8601 timestamp in UTC of audience update (read-only)", + "format": "date-time", + "nullable": true + }, + "advertiserId": { + "type": "string", + "description": "Advertiser associated to the audience", + "nullable": true + }, + "adSetIds": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "Ad sets associated to the audience", + "nullable": true + }, + "algebra": { + "$ref": "#/components/schemas/AlgebraNodeV1" + } + }, + "description": "Audience of people of interest for a marketer.", + "x-criteo-canonical": { + "infoType": "entity", + "name": "Audience", + "version": "v1" + } + }, + "AudienceSizeEntityV1": { + "type": "object", + "properties": { + "size": { + "type": "integer", + "format": "int64", + "nullable": true + } + }, + "description": "Audience entity only with its size", + "x-criteo-canonical": { + "infoType": "entity", + "name": "AudienceSize", + "version": "v1" + } + }, + "AudienceIdEntityV1": { + "type": "object", + "description": "Audience entity with only its ID", + "x-criteo-canonical": { + "infoType": "entity", + "name": "Audience", + "version": "v1" + } + }, + "AudienceSizeEstimationV1": { + "type": "object", + "properties": { + "size": { + "type": "integer", + "format": "int64", + "nullable": true + } + }, + "description": "Audience size estimation" + }, + "AudienceSegmentUpdateEntityV1": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the segment", + "nullable": true + }, + "description": { + "$ref": "#/components/schemas/NillableString" + }, + "inMarket": { + "$ref": "#/components/schemas/InMarketUpdateV1" + }, + "location": { + "$ref": "#/components/schemas/LocationUpdateV1" + }, + "retargeting": { + "$ref": "#/components/schemas/RetargetingUpdateV1" + }, + "lookalike": { + "$ref": "#/components/schemas/LookalikeUpdateV1" + }, + "prospecting": { + "$ref": "#/components/schemas/ProspectingUpdateV1" + } + }, + "description": "Set of rules that defines specific people to target.", + "x-criteo-canonical": { + "infoType": "entity", + "name": "AudienceSegment", + "version": "v1" + } + }, + "AudienceSegmentComputeSizeEntityV1": { + "type": "object", + "description": "Set of rules that defines specific people to target.", + "x-criteo-canonical": { + "infoType": "entity", + "name": "AudienceSegment", + "version": "v1" + } + }, + "AudienceSegmentCreateEntityV1": { + "required": [ + "advertiserId", + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the segment" + }, + "description": { + "type": "string", + "description": "Description of the segment", + "nullable": true + }, + "advertiserId": { + "type": "string", + "description": "Advertiser associated to the segment" + }, + "inMarket": { + "$ref": "#/components/schemas/InMarketCreateV1" + }, + "prospecting": { + "$ref": "#/components/schemas/ProspectingCreateV1" + }, + "contactList": { + "$ref": "#/components/schemas/ContactListCreateV1" + }, + "location": { + "$ref": "#/components/schemas/LocationCreateV1" + }, + "retargeting": { + "$ref": "#/components/schemas/RetargetingCreateV1" + }, + "lookalike": { + "$ref": "#/components/schemas/LookalikeCreateV1" + } + }, + "description": "Set of rules that defines specific people to target." + }, + "AudienceSegmentDeleteEntityV1": { + "type": "object", + "description": "Segment to delete", + "x-criteo-canonical": { + "infoType": "entity", + "name": "AudienceSegment", + "version": "v1" + } + }, + "AudienceSegmentSizeEstimationEntityV1": { + "required": [ + "advertiserId" + ], + "type": "object", + "properties": { + "advertiserId": { + "type": "string", + "description": "Advertiser associated to the segment" + }, + "inMarket": { + "$ref": "#/components/schemas/InMarketSizeEstimationV1" + }, + "location": { + "$ref": "#/components/schemas/LocationSizeEstimationV1" + } + }, + "description": "Set of rules that defines specific people to target." + }, + "AudienceSegmentSearchEntityV1": { + "type": "object", + "properties": { + "audienceSegmentIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of segment ids", + "nullable": true + }, + "advertiserIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of advertiser ids", + "nullable": true + }, + "audienceSegmentTypes": { + "type": "array", + "items": { + "enum": [ + "Unknown", + "InMarket", + "Prospecting", + "ContactList", + "Location", + "Behavioral", + "Retargeting", + "Lookalike" + ], + "type": "string" + }, + "description": "List of segment types", + "nullable": true + } + }, + "description": "Available filters to perform a search on audience segments. If present, the filters are AND'ed together when applied." + }, + "AudienceUpdateEntityV1": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the audience", + "nullable": true + }, + "description": { + "$ref": "#/components/schemas/NillableString" + }, + "algebra": { + "$ref": "#/components/schemas/AlgebraNodeV1" + } + }, + "description": "Audience of people of interest for a marketer.", + "x-criteo-canonical": { + "infoType": "entity", + "name": "Audience", + "version": "v1" + } + }, + "AudienceComputeSizeEntityV1": { + "type": "object", + "description": "Audience of people of interest for a marketer.", + "x-criteo-canonical": { + "infoType": "entity", + "name": "Audience", + "version": "v1" + } + }, + "AudienceCreateEntityV1": { + "required": [ + "advertiserId", + "algebra", + "name" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the audience" + }, + "description": { + "type": "string", + "description": "Description of the audience", + "nullable": true + }, + "advertiserId": { + "type": "string", + "description": "Advertiser associated to the audience" + }, + "algebra": { + "$ref": "#/components/schemas/AlgebraNodeV1" + } + }, + "description": "Audience of people of interest for a marketer." + }, + "AudienceDeleteEntityV1": { + "type": "object", + "description": "Audience to delete", + "x-criteo-canonical": { + "infoType": "entity", + "name": "Audience", + "version": "v1" + } + }, + "AudienceEstimateSizeEntityV1": { + "required": [ + "advertiserId", + "algebra" + ], + "type": "object", + "properties": { + "advertiserId": { + "type": "string", + "description": "Advertiser associated to the audience" + }, + "algebra": { + "$ref": "#/components/schemas/AlgebraNodeV1" + } + }, + "description": "Audience of people of interest for a marketer." + }, + "AudienceSearchEntityV1": { + "type": "object", + "properties": { + "audienceIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of audience ids", + "nullable": true + }, + "advertiserIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of advertiser ids", + "nullable": true + }, + "audienceSegmentIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of segment ids (linked to the result audiences)", + "nullable": true + }, + "adSetIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of AdSet ids", + "nullable": true + } + }, + "description": "Available filters to perform a search on segments. If present, the filters are AND'ed together when applied." + }, + "InMarketV1": { + "type": "object", + "properties": { + "country": { + "type": "string", + "description": "Reach people of a specific country", + "nullable": true + }, + "buyingPower": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "Unknown", + "Low", + "Medium", + "High", + "VeryHigh" + ], + "type": "string" + }, + "description": "Reach people who frequently purchase high price range items to lower price range items", + "nullable": true + }, + "gender": { + "enum": [ + "Unknown", + "Male", + "Female" + ], + "type": "string", + "description": "Reach people who’ve shown interest in products made for a specific gender", + "nullable": true + }, + "interestIds": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "Reach new people based on their interests", + "nullable": true + }, + "brandIds": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "Choose the brands your segment might be interested in", + "nullable": true + }, + "priceRange": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "Unknown", + "Low", + "Medium", + "High" + ], + "type": "string" + }, + "description": "Reach people who’ve shown interest in products within a specific price range", + "nullable": true + } + }, + "description": "Settings to target users based on high shopping intents and demographics." + }, + "ProspectingV1": { + "type": "object", + "properties": { + "daysSinceLastVisitMin": { + "type": "integer", + "description": "When non buyers are included, include users who visited your website before this number of days", + "format": "int32", + "nullable": true + }, + "daysSinceLastVisitMax": { + "type": "integer", + "description": "When non buyers are included, include users who visited your website after this number of days", + "format": "int32", + "nullable": true + }, + "usersType": { + "enum": [ + "Unknown", + "Prospects", + "ProspectsOrNonBuyers" + ], + "type": "string", + "description": "Type of users to target", + "nullable": true + } + }, + "description": "Settings to target prospecting users to website visitors." + }, + "ContactListV1": { + "type": "object", + "properties": { + "isReadOnly": { + "type": "boolean", + "description": "Is the segment read-only", + "nullable": true + } + }, + "description": "Settings to target users with your contact lists." + }, + "LocationV1": { + "type": "object", + "properties": { + "pointsOfInterest": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PointOfInterestV1" + }, + "description": "Reach users which have been historically located in the given coordinates", + "nullable": true + }, + "radiusInKm": { + "type": "integer", + "description": "The expected maximum distance in kilometers between a user and a point of interest", + "format": "int32", + "nullable": true + }, + "registryType": { + "enum": [ + "Unknown", + "PointOfInterest" + ], + "type": "string", + "description": "The kind of Location audience", + "nullable": true + } + }, + "description": "Settings to target users based on their location." + }, + "BehavioralV1": { + "required": [ + "category" + ], + "type": "object", + "properties": { + "country": { + "type": "string", + "description": "The users' country", + "nullable": true + }, + "category": { + "enum": [ + "Unknown", + "Lifestyles", + "LifeEvents", + "Seasonal", + "BuyingPatterns" + ], + "type": "string", + "description": "The type of behavioral" + }, + "startDate": { + "type": "string", + "description": "Desired date when the behavioral will start", + "format": "date-time", + "nullable": true + }, + "endDate": { + "type": "string", + "description": "Desired date when the behavioral will end", + "format": "date-time", + "nullable": true + } + }, + "description": "Settings of a behavioral set of users provided by Criteo." + }, + "RetargetingV1": { + "type": "object", + "properties": { + "visitorsType": { + "enum": [ + "Unknown", + "All", + "Buyers", + "NonBuyers" + ], + "type": "string", + "description": "Types of visitors.", + "nullable": true + }, + "daysSinceLastVisitMin": { + "type": "integer", + "description": "Minimum number of days since last visit to partner.", + "format": "int32", + "nullable": true + }, + "daysSinceLastVisitMax": { + "type": "integer", + "description": "Maximum number of days since last visit to partner.", + "format": "int32", + "nullable": true + } + }, + "description": "Settings to target users based on its type and days since last visit." + }, + "LookalikeV1": { + "type": "object", + "properties": { + "seedSegmentId": { + "type": "string", + "description": "Segment from which the Lookalike segment will be generated", + "nullable": true + }, + "targetSize": { + "type": "integer", + "description": "Desired size of the generated Lookalike segment", + "format": "int64", + "nullable": true + } + }, + "description": "Settings to target users that behave like a given seed segment" + }, + "AlgebraNodeV1": { + "type": "object", + "properties": { + "and": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AlgebraNodeV1" + }, + "nullable": true + }, + "or": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AlgebraNodeV1" + }, + "nullable": true + }, + "not": { + "$ref": "#/components/schemas/AlgebraNodeV1" + }, + "audienceSegmentId": { + "type": "string", + "nullable": true + } + }, + "description": "Node in the audience algebra definition." + }, + "NillableString": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "The string's value. If missing or null the string's value is set to \"null\"", + "nullable": true + } + }, + "description": "Placeholder object for string value for which \"null\" is a valid business value" + }, + "InMarketUpdateV1": { + "type": "object", + "properties": { + "country": { + "type": "string", + "description": "Reach people of a specific country", + "nullable": true + }, + "buyingPower": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "Low", + "Medium", + "High", + "VeryHigh" + ], + "type": "string" + }, + "description": "Reach people who frequently purchase high price range items to lower price range items", + "nullable": true + }, + "gender": { + "$ref": "#/components/schemas/NillableGenderV1" + }, + "interestIds": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "Reach new people based on their interests", + "nullable": true + }, + "brandIds": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "Choose the brands your segment might be interested in", + "nullable": true + }, + "priceRange": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "Low", + "Medium", + "High" + ], + "type": "string" + }, + "description": "Reach people who’ve shown interest in products within a specific price range", + "nullable": true + } + }, + "description": "Settings to target users based on high shopping intents and demographics." + }, + "LocationUpdateV1": { + "type": "object", + "properties": { + "pointsOfInterest": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PointOfInterestV1" + }, + "description": "Reach users which have been historically located in the given coordinates", + "nullable": true + }, + "radiusInKm": { + "type": "integer", + "description": "Radius in kilometers", + "format": "int32", + "nullable": true + }, + "registryType": { + "enum": [ + "PointOfInterest" + ], + "type": "string", + "description": "The kind of Location audience", + "nullable": true + } + }, + "description": "Settings to target users based on their location." + }, + "RetargetingUpdateV1": { + "type": "object", + "properties": { + "visitorsType": { + "enum": [ + "All", + "Buyers", + "NonBuyers" + ], + "type": "string", + "description": "Types of visitors.", + "nullable": true + }, + "daysSinceLastVisitMin": { + "type": "integer", + "description": "Minimum number of days since last visit to partner.", + "format": "int32", + "nullable": true + }, + "daysSinceLastVisitMax": { + "type": "integer", + "description": "Maximum number of days since last visit to partner.", + "format": "int32", + "nullable": true + } + }, + "description": "Settings to target users based on its type and days since last visit." + }, + "LookalikeUpdateV1": { + "type": "object", + "properties": { + "targetSize": { + "type": "integer", + "description": "Desired size of the generated Lookalike segment", + "format": "int64", + "nullable": true + } + }, + "description": "Settings to target users that behave like a given seed segment" + }, + "ProspectingUpdateV1": { + "type": "object", + "properties": { + "daysSinceLastVisitMin": { + "$ref": "#/components/schemas/NillableInt32" + }, + "daysSinceLastVisitMax": { + "$ref": "#/components/schemas/NillableInt32" + }, + "usersType": { + "enum": [ + "Prospects", + "ProspectsOrNonBuyers" + ], + "type": "string", + "description": "Type of users to target", + "nullable": true + } + }, + "description": "Settings to target prospecting users to website visitors." + }, + "InMarketCreateV1": { + "required": [ + "country" + ], + "type": "object", + "properties": { + "country": { + "type": "string", + "description": "Reach people of a specific country" + }, + "buyingPower": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "Low", + "Medium", + "High", + "VeryHigh" + ], + "type": "string" + }, + "description": "Reach people who frequently purchase high price range items to lower price range items", + "nullable": true + }, + "gender": { + "enum": [ + "Male", + "Female" + ], + "type": "string", + "description": "Reach people who’ve shown interest in products made for a specific gender", + "nullable": true + }, + "interestIds": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "Reach new people based on their interests", + "nullable": true + }, + "brandIds": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "Choose the brands your segment might be interested in", + "nullable": true + }, + "priceRange": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "Low", + "Medium", + "High" + ], + "type": "string" + }, + "description": "Reach people who’ve shown interest in products within a specific price range", + "nullable": true + } + }, + "description": "Settings to target users based on high shopping intents and demographics." + }, + "ProspectingCreateV1": { + "required": [ + "usersType" + ], + "type": "object", + "properties": { + "daysSinceLastVisitMin": { + "type": "integer", + "description": "When non buyers are included, include users who visited your website before this number of days", + "format": "int32", + "nullable": true + }, + "daysSinceLastVisitMax": { + "type": "integer", + "description": "When non buyers are included, include users who visited your website after this number of days", + "format": "int32", + "nullable": true + }, + "usersType": { + "enum": [ + "Prospects", + "ProspectsOrNonBuyers" + ], + "type": "string", + "description": "Type of users to target" + } + }, + "description": "Settings to target prospecting users to website visitors." + }, + "ContactListCreateV1": { + "type": "object", + "description": "Settings to target users with your contact lists." + }, + "LocationCreateV1": { + "required": [ + "pointsOfInterest", + "radiusInKm" + ], + "type": "object", + "properties": { + "pointsOfInterest": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PointOfInterestV1" + }, + "description": "Reach users which have been historically located in the given coordinates" + }, + "radiusInKm": { + "type": "integer", + "description": "The expected maximum distance in kilometers between a user and a point of interest", + "format": "int32" + } + }, + "description": "Settings to target users based on their location." + }, + "RetargetingCreateV1": { + "required": [ + "daysSinceLastVisitMax", + "daysSinceLastVisitMin", + "visitorsType" + ], + "type": "object", + "properties": { + "visitorsType": { + "enum": [ + "All", + "Buyers", + "NonBuyers" + ], + "type": "string", + "description": "Types of visitors." + }, + "daysSinceLastVisitMin": { + "type": "integer", + "description": "Minimum number of days since last visit to partner.", + "format": "int32" + }, + "daysSinceLastVisitMax": { + "type": "integer", + "description": "Maximum number of days since last visit to partner.", + "format": "int32" + } + }, + "description": "Settings to target users based on its type and days since last visit." + }, + "LookalikeCreateV1": { + "required": [ + "seedSegmentId" + ], + "type": "object", + "properties": { + "seedSegmentId": { + "type": "string", + "description": "Segment from which the Lookalike segment will be generated" + }, + "targetSize": { + "type": "integer", + "description": "Desired size of the generated Lookalike segment", + "format": "int64", + "nullable": true + } + }, + "description": "Settings to target users close to a given seed segment." + }, + "InMarketSizeEstimationV1": { + "required": [ + "country" + ], + "type": "object", + "properties": { + "country": { + "type": "string" + }, + "buyingPower": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "Low", + "Medium", + "High", + "VeryHigh" + ], + "type": "string" + }, + "nullable": true + }, + "gender": { + "enum": [ + "Male", + "Female" + ], + "type": "string", + "nullable": true + }, + "interestIds": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "brandIds": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "priceRange": { + "uniqueItems": true, + "type": "array", + "items": { + "enum": [ + "Low", + "Medium", + "High" + ], + "type": "string" + }, + "nullable": true + } + }, + "description": "Settings to target users based on high shopping intents and demographics." + }, + "LocationSizeEstimationV1": { + "required": [ + "pointsOfInterest", + "radiusInKm" + ], + "type": "object", + "properties": { + "pointsOfInterest": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PointOfInterestV1" + } + }, + "radiusInKm": { + "type": "integer", + "format": "int32" + } + }, + "description": "Settings to define your audience based on their location." + }, + "PointOfInterestV1": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the point of interest", + "nullable": true + }, + "latitude": { + "type": "number", + "description": "ISO-6709 latitude (rounded at 5 decimals)", + "format": "double", + "nullable": true + }, + "longitude": { + "type": "number", + "description": "ISO-6709 longitude (rounded at 5 decimals)", + "format": "double", + "nullable": true + } + }, + "description": "Named coordinate defined by its latitude and longitude.\r\nLatitude and Longitude are rounded at 5 decimals." + }, + "NillableGenderV1": { + "type": "object", + "properties": { + "value": { + "enum": [ + "Male", + "Female" + ], + "type": "string", + "description": "The value. If missing or null the value is set to \"null\"", + "nullable": true + } + }, + "description": "Placeholder object for value for which \"null\" is a valid business value" + }, + "NillableInt32": { + "type": "object", + "properties": { + "value": { + "type": "integer", + "description": "The value. If missing or null the value is set to \"null\"", + "format": "int32", + "nullable": true + } + }, + "description": "Placeholder object for value for which \"null\" is a valid business value" + }, + "ResponsesAdSetIdV24Q1": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ReadModelAdSetIdV24Q1" + }, + "nullable": true, + "readOnly": true, + "x-nullable": true + }, + "warnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true, + "x-nullable": true + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true, + "x-nullable": true + } + }, + "description": "List of output resources" + }, + "ResponseReadAdSetV24Q1": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/ReadModelReadAdSetV24Q1" + }, + "warnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true, + "x-nullable": true + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true, + "x-nullable": true + } + }, + "description": "output resource" + }, + "ResponsesReadAdSetV24Q1": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ReadModelReadAdSetV24Q1" + }, + "nullable": true, + "readOnly": true, + "x-nullable": true + }, + "warnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true, + "x-nullable": true + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true, + "x-nullable": true + } + }, + "description": "List of output resources" + }, + "ResponsesAdSetId": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ReadModelAdSetId" + }, + "nullable": true, + "readOnly": true, + "x-nullable": true + }, + "warnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true, + "x-nullable": true + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true, + "x-nullable": true + } + }, + "description": "List of output resources" + }, + "AdSetCategoryBidListResponse": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AdSetCategoryBidResource" + }, + "nullable": true, + "x-nullable": true + }, + "warnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true, + "x-nullable": true + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true, + "x-nullable": true + } + }, + "description": "Data model for a list of response resources" + }, + "PatchAdSetCategoryBidResultListResponse": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PatchAdSetCategoryBidResultResource" + }, + "nullable": true, + "x-nullable": true + }, + "warnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true, + "x-nullable": true + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true, + "x-nullable": true + } + }, + "description": "Data model for a list of response resources" + }, + "AdSetDisplayMultiplierListResponse": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AdSetDisplayMultiplierResource" + }, + "nullable": true, + "x-nullable": true + }, + "warnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true, + "x-nullable": true + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true, + "x-nullable": true + } + }, + "description": "Data model for a list of response resources" + }, + "PatchAdSetDisplayMultiplierResultListResponse": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PatchAdSetDisplayMultiplierResultResource" + }, + "nullable": true, + "x-nullable": true + }, + "warnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true, + "x-nullable": true + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true, + "x-nullable": true + } + }, + "description": "Data model for a list of response resources" + }, + "PatchResultCampaignListResponse": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PatchResultCampaignReadResource" + }, + "nullable": true, + "readOnly": true, + "x-nullable": true + }, + "warnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true, + "x-nullable": true + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true, + "x-nullable": true + } + }, + "description": "List of output resources" + }, + "CampaignV23Q1Response": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/CampaignV23Q1Resource" + }, + "warnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true, + "x-nullable": true + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true, + "x-nullable": true + } + }, + "description": "Data model for response resource" + }, + "CampaignV23Q1ListResponse": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CampaignV23Q1Resource" + }, + "nullable": true, + "x-nullable": true + }, + "warnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true, + "x-nullable": true + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true, + "x-nullable": true + } + }, + "description": "Data model for a list of response resources" + }, + "RequestsPatchAdSetV24Q1": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/WriteModelPatchAdSetV24Q1" + }, + "nullable": true, + "x-nullable": true + } + }, + "description": "List of input resources" + }, + "CreateAdSetV24Q1Request": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/CreateAdSetV24Q1Resource" + } + }, + "description": "Data model for an input resources" + }, + "AdSetSearchRequestV24Q1": { + "type": "object", + "properties": { + "filters": { + "$ref": "#/components/schemas/AdSetSearchFilterV24Q1" + } + }, + "description": "request payload of the search endpoint" + }, + "RequestsAdSetId": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/WriteModelAdSetId" + }, + "nullable": true, + "x-nullable": true + } + }, + "description": "List of input resources" + }, + "PatchAdSetCategoryBidListRequest": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PatchAdSetCategoryBidResource" + }, + "nullable": true, + "x-nullable": true + } + }, + "description": "Data model for a list of input resources" + }, + "PatchAdSetDisplayMultiplierListRequest": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PatchAdSetDisplayMultiplierResource" + }, + "nullable": true, + "x-nullable": true + } + }, + "description": "Data model for a list of input resources" + }, + "PatchCampaignListRequest": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PatchCampaignWriteResource" + }, + "nullable": true, + "x-nullable": true + } + }, + "description": "List of input resources" + }, + "CreateCampaignRequest": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/CreateCampaignResource" + } + }, + "description": "Data model for an input resources" + }, + "CampaignSearchRequestV23Q1": { + "type": "object", + "properties": { + "filters": { + "$ref": "#/components/schemas/CampaignSearchFiltersV23Q1" + } + }, + "description": "request payload of the search endpoint" + }, + "ReadModelAdSetIdV24Q1": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Id of the entity", + "nullable": true, + "readOnly": true, + "x-nullable": true + }, + "type": { + "type": "string", + "nullable": true, + "readOnly": true, + "example": "AdSetIdV24Q1", + "x-nullable": true + }, + "attributes": { + "$ref": "#/components/schemas/AdSetIdV24Q1" + } + }, + "description": "read model data for resources" + }, + "ReadModelReadAdSetV24Q1": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Id of the entity", + "nullable": true, + "readOnly": true, + "x-nullable": true + }, + "type": { + "type": "string", + "nullable": true, + "readOnly": true, + "example": "ReadAdSetV24Q1", + "x-nullable": true + }, + "attributes": { + "$ref": "#/components/schemas/ReadAdSetV24Q1" + } + }, + "description": "read model data for resources" + }, + "ReadModelAdSetId": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Id of the entity", + "nullable": true, + "readOnly": true, + "x-nullable": true + }, + "type": { + "type": "string", + "nullable": true, + "readOnly": true, + "example": "AdSetId", + "x-nullable": true + } + }, + "description": "read model data for resources" + }, + "AdSetCategoryBidResource": { + "type": "object", + "properties": { + "attributes": { + "$ref": "#/components/schemas/AdSetCategoryBid" + }, + "id": { + "type": "string", + "description": "Id of the entity", + "nullable": true + }, + "type": { + "type": "string", + "description": "Canonical type name of the entity", + "nullable": true, + "example": "AdSetCategoryBid" + } + }, + "description": "Data model for a Resource" + }, + "PatchAdSetCategoryBidResultResource": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Id of the entity", + "nullable": true + }, + "type": { + "type": "string", + "description": "Canonical type name of the entity", + "nullable": true, + "example": "AdSetCategoryBid" + } + }, + "description": "Data model for a Resource" + }, + "AdSetDisplayMultiplierResource": { + "type": "object", + "properties": { + "attributes": { + "$ref": "#/components/schemas/AdSetDisplayMultiplier" + }, + "id": { + "type": "string", + "description": "Id of the entity", + "nullable": true + }, + "type": { + "type": "string", + "description": "Canonical type name of the entity", + "nullable": true, + "example": "AdSetDisplayMultiplier" + } + }, + "description": "Data model for a Resource" + }, + "PatchAdSetDisplayMultiplierResultResource": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Id of the entity", + "nullable": true + }, + "type": { + "type": "string", + "description": "Canonical type name of the entity", + "nullable": true, + "example": "AdSetDisplayMultiplier" + } + }, + "description": "Data model for a Resource" + }, + "PatchResultCampaignReadResource": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Id of the entity", + "nullable": true, + "readOnly": true, + "x-nullable": true + }, + "type": { + "type": "string", + "nullable": true, + "readOnly": true, + "example": "Campaign", + "x-nullable": true + } + }, + "description": "read model data for resources" + }, + "CampaignV23Q1Resource": { + "type": "object", + "properties": { + "attributes": { + "$ref": "#/components/schemas/CampaignV23Q1" + }, + "id": { + "type": "string", + "description": "Id of the entity", + "nullable": true + }, + "type": { + "type": "string", + "description": "Canonical type name of the entity", + "nullable": true, + "example": "Campaign" + } + }, + "description": "Data model for a Resource" + }, + "WriteModelPatchAdSetV24Q1": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Id of the entity", + "nullable": true, + "x-nullable": true + }, + "type": { + "type": "string", + "description": "Canonical type name of the entity", + "nullable": true, + "example": "PatchAdSetV24Q1", + "x-nullable": true + }, + "attributes": { + "$ref": "#/components/schemas/PatchAdSetV24Q1" + } + }, + "description": "write model data for resources" + }, + "CreateAdSetV24Q1Resource": { + "type": "object", + "properties": { + "attributes": { + "$ref": "#/components/schemas/CreateAdSetV24Q1" + }, + "type": { + "type": "string", + "description": "Canonical type name of the entity", + "nullable": true, + "example": "AdSet" + } + }, + "description": "Data model for a Resource" + }, + "AdSetSearchFilterV24Q1": { + "type": "object", + "properties": { + "adSetIds": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true, + "x-nullable": true + }, + "advertiserIds": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true, + "x-nullable": true + }, + "campaignIds": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true, + "x-nullable": true + } + }, + "description": "filter on ad set ids" + }, + "WriteModelAdSetId": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Id of the entity", + "nullable": true, + "x-nullable": true + }, + "type": { + "type": "string", + "description": "Canonical type name of the entity", + "nullable": true, + "example": "AdSetId", + "x-nullable": true + } + }, + "description": "write model data for resources" + }, + "PatchAdSetCategoryBidResource": { + "type": "object", + "properties": { + "attributes": { + "$ref": "#/components/schemas/PatchAdSetCategoryBid" + }, + "id": { + "type": "string", + "description": "Id of the entity", + "nullable": true + }, + "type": { + "type": "string", + "description": "Canonical type name of the entity", + "nullable": true, + "example": "AdSetCategoryBid" + } + }, + "description": "Data model for a Resource" + }, + "PatchAdSetDisplayMultiplierResource": { + "type": "object", + "properties": { + "attributes": { + "$ref": "#/components/schemas/PatchAdSetDisplayMultiplier" + }, + "id": { + "type": "string", + "description": "Id of the entity", + "nullable": true + }, + "type": { + "type": "string", + "description": "Canonical type name of the entity", + "nullable": true, + "example": "AdSetDisplayMultiplier" + } + }, + "description": "Data model for a Resource" + }, + "PatchCampaignWriteResource": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Id of the entity", + "nullable": true, + "x-nullable": true + }, + "type": { + "type": "string", + "description": "Canonical type name of the entity", + "nullable": true, + "example": "Campaign", + "x-nullable": true + }, + "attributes": { + "$ref": "#/components/schemas/PatchCampaign" + } + }, + "description": "write model data for resources" + }, + "CreateCampaignResource": { + "type": "object", + "properties": { + "attributes": { + "$ref": "#/components/schemas/CreateCampaign" + }, + "type": { + "type": "string", + "description": "Canonical type name of the entity", + "nullable": true, + "example": "Campaign" + } + }, + "description": "Data model for a Resource" + }, + "CampaignSearchFiltersV23Q1": { + "type": "object", + "properties": { + "campaignIds": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true, + "x-nullable": true + }, + "advertiserIds": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true, + "x-nullable": true + } + }, + "description": "filters on campaign" + }, + "AdSetIdV24Q1": { + "type": "object", + "description": "ad set id model" + }, + "ReadAdSetV24Q1": { + "type": "object", + "properties": { + "name": { + "type": "string", + "nullable": true, + "x-nullable": true + }, + "advertiserId": { + "type": "string", + "nullable": true, + "x-nullable": true + }, + "datasetId": { + "type": "string", + "nullable": true, + "x-nullable": true + }, + "campaignId": { + "type": "string", + "nullable": true, + "x-nullable": true + }, + "destinationEnvironment": { + "enum": [ + "undefined", + "web", + "app" + ], + "type": "string", + "nullable": true + }, + "objective": { + "enum": [ + "customAction", + "clicks", + "conversions", + "displays", + "appPromotion", + "revenue", + "storeConversions", + "value", + "reach", + "visits", + "videoViews" + ], + "type": "string", + "nullable": true + }, + "schedule": { + "$ref": "#/components/schemas/ReadAdSetScheduleV24Q1" + }, + "bidding": { + "$ref": "#/components/schemas/ReadAdSetBiddingV24Q1" + }, + "targeting": { + "$ref": "#/components/schemas/AdSetTargetingV24Q1" + }, + "budget": { + "$ref": "#/components/schemas/ReadAdSetBudgetV24Q1" + }, + "mediaType": { + "enum": [ + "display", + "video" + ], + "type": "string", + "nullable": true, + "x-nullable": true + }, + "videoChannel": { + "enum": [ + "olv", + "ctv" + ], + "type": "string", + "nullable": true, + "x-nullable": true + } + }, + "description": "ad set read model" + }, + "AdSetCategoryBid": { + "type": "object", + "properties": { + "categoryName": { + "type": "string", + "description": "The name of the Category to which the Category Bid has been applied.", + "nullable": true, + "x-nullable": true + }, + "bidAmount": { + "type": "number", + "description": "The Bid amount applied to the given Category associated to an Ad Set. At most 4 decimals are supported. Additional decimals are rounded.", + "format": "double", + "nullable": true + } + }, + "description": "Category Bid information about a Category for a given Ad Set." + }, + "AdSetDisplayMultiplier": { + "type": "object", + "properties": { + "categoryName": { + "type": "string", + "description": "The name of the Category to which the given for which the Display Multiplier has been applied.", + "nullable": true, + "x-nullable": true + }, + "displayMultiplier": { + "type": "number", + "description": "The Display Multiplier applied to the given Category associated to an Ad Set.", + "format": "double", + "nullable": true + } + }, + "description": "Display Multiplier information about a Category for a given Ad Set." + }, + "CampaignV23Q1": { + "type": "object", + "properties": { + "name": { + "type": "string", + "nullable": true, + "x-nullable": true + }, + "advertiserId": { + "type": "string", + "nullable": true, + "x-nullable": true + }, + "spendLimit": { + "$ref": "#/components/schemas/CampaignSpendLimitV23Q1" + }, + "goal": { + "enum": [ + "unspecified", + "acquisition", + "retention" + ], + "type": "string", + "nullable": true + } + }, + "description": "campaign read model" + }, + "PatchAdSetV24Q1": { + "type": "object", + "properties": { + "name": { + "type": "string", + "nullable": true, + "x-nullable": true + }, + "scheduling": { + "$ref": "#/components/schemas/PatchAdSetSchedulingV24Q1" + }, + "bidding": { + "$ref": "#/components/schemas/PatchAdSetBiddingV24Q1" + }, + "targeting": { + "$ref": "#/components/schemas/AdSetTargetingV24Q1" + }, + "budget": { + "$ref": "#/components/schemas/PatchAdSetBudgetV24Q1" + } + }, + "description": "ad set patch model" + }, + "CreateAdSetV24Q1": { + "required": [ + "bidding", + "budget", + "campaignId", + "datasetId", + "mediaType", + "name", + "objective", + "schedule", + "targeting", + "trackingCode" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the ad set", + "nullable": true, + "x-nullable": true + }, + "datasetId": { + "type": "string", + "description": "Dataset id of this ad set", + "nullable": true, + "x-nullable": true + }, + "campaignId": { + "type": "string", + "description": "Campaign id this ad set belongs to", + "nullable": true, + "x-nullable": true + }, + "objective": { + "enum": [ + "customAction", + "clicks", + "conversions", + "displays", + "appPromotion", + "revenue", + "storeConversions", + "value", + "reach", + "visits", + "videoViews" + ], + "type": "string", + "description": "Objective of the ad set" + }, + "schedule": { + "$ref": "#/components/schemas/CreateAdSetScheduleV24Q1" + }, + "bidding": { + "$ref": "#/components/schemas/CreateAdSetBiddingV24Q1" + }, + "targeting": { + "$ref": "#/components/schemas/CreateAdSetTargetingV24Q1" + }, + "budget": { + "$ref": "#/components/schemas/CreateAdSetBudgetV24Q1" + }, + "trackingCode": { + "type": "string", + "description": "The click tracking code associated to this Ad Set.", + "nullable": true, + "x-nullable": true + }, + "mediaType": { + "enum": [ + "display", + "video" + ], + "type": "string", + "description": "Media type for the ad set" + } + }, + "description": "ad set create model" + }, + "PatchAdSetCategoryBid": { + "type": "object", + "properties": { + "bidAmount": { + "type": "number", + "description": "The Bid amount applied to the given Category associated to an Ad Set. At most 4 decimals are supported. Additional decimals are rounded.", + "format": "double", + "nullable": true + } + }, + "description": "Category Bid to update for a given combination of Ad Set and Category." + }, + "PatchAdSetDisplayMultiplier": { + "type": "object", + "properties": { + "displayMultiplier": { + "type": "number", + "description": "Any positive decimal value. To remove the impact of the Display Multiplier set it to 1. At most 4 decimals are supported. Additional decimals are rounded.", + "format": "double", + "nullable": true + } + }, + "description": "Display Multiplier to update for a given combination of Ad Set and Category." + }, + "PatchCampaign": { + "type": "object", + "properties": { + "spendLimit": { + "$ref": "#/components/schemas/PatchCampaignSpendLimit" + } + }, + "description": "campaign patch model" + }, + "CreateCampaign": { + "required": [ + "advertiserId", + "goal", + "name", + "spendLimit" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the campaign", + "nullable": true, + "x-nullable": true + }, + "advertiserId": { + "type": "string", + "description": "Advertiser id this campaign belongs to", + "nullable": true, + "x-nullable": true + }, + "goal": { + "enum": [ + "Unspecified", + "Acquisition", + "Retention" + ], + "type": "string", + "description": "Goal for the marketing campaign" + }, + "spendLimit": { + "$ref": "#/components/schemas/CreateCampaignSpendLimit" + } + }, + "description": "Campaign create model" + }, + "ReadAdSetScheduleV24Q1": { + "type": "object", + "properties": { + "startDate": { + "$ref": "#/components/schemas/NillableDateTime" + }, + "endDate": { + "$ref": "#/components/schemas/NillableDateTime" + }, + "activationStatus": { + "enum": [ + "on", + "off" + ], + "type": "string", + "nullable": true + }, + "deliveryStatus": { + "enum": [ + "draft", + "inactive", + "live", + "notLive", + "pausing", + "paused", + "scheduled", + "ended", + "notDelivering", + "archived" + ], + "type": "string", + "nullable": true + } + }, + "description": "ad set schedule read model" + }, + "ReadAdSetBiddingV24Q1": { + "type": "object", + "properties": { + "bidAmount": { + "type": "number", + "description": "Decimal value target relating to the `adSetObjective` specified. May be `null` for objectives that do not require a target value. At most 4 decimals are supported. Additional decimals are rounded.", + "format": "double", + "nullable": true, + "x-nullable": true + }, + "costController": { + "enum": [ + "COS", + "CPC", + "CPI", + "CPM", + "CPO", + "CPSV", + "CPV", + "dailyBudget", + "targetCPM" + ], + "type": "string", + "description": "How spend is controlled", + "nullable": true + } + }, + "description": "ad set bidding read model" + }, + "AdSetTargetingV24Q1": { + "type": "object", + "properties": { + "deliveryLimitations": { + "$ref": "#/components/schemas/AdSetDeliveryLimitationsV24Q1" + }, + "geoLocation": { + "$ref": "#/components/schemas/AdSetGeoLocationV24Q1" + }, + "frequencyCapping": { + "$ref": "#/components/schemas/AdSetFrequencyCappingV24Q1" + } + }, + "description": "ad set targeting model" + }, + "ReadAdSetBudgetV24Q1": { + "type": "object", + "properties": { + "budgetStrategy": { + "enum": [ + "capped", + "uncapped" + ], + "type": "string", + "nullable": true + }, + "budgetRenewal": { + "enum": [ + "undefined", + "daily", + "monthly", + "lifetime", + "weekly" + ], + "type": "string", + "nullable": true + }, + "budgetDeliverySmoothing": { + "enum": [ + "accelerated", + "standard" + ], + "type": "string", + "nullable": true, + "x-nullable": true + }, + "budgetDeliveryWeek": { + "enum": [ + "undefined", + "mondayToSunday", + "tuesdayToMonday", + "wednesdayToTuesday", + "thursdayToWednesday", + "fridayToThursday", + "saturdayToFriday", + "sundayToSaturday" + ], + "type": "string", + "nullable": true + }, + "budgetAmount": { + "type": "number", + "format": "double", + "nullable": true, + "x-nullable": true + } + }, + "description": "ad set budget read model" + }, + "CampaignSpendLimitV23Q1": { + "type": "object", + "properties": { + "spendLimitType": { + "enum": [ + "capped", + "uncapped" + ], + "type": "string", + "nullable": true + }, + "spendLimitRenewal": { + "enum": [ + "undefined", + "daily", + "monthly", + "lifetime" + ], + "type": "string", + "nullable": true + }, + "spendLimitAmount": { + "$ref": "#/components/schemas/NillableDecimal" + } + }, + "description": "campaign spend limit model" + }, + "PatchAdSetSchedulingV24Q1": { + "type": "object", + "properties": { + "startDate": { + "$ref": "#/components/schemas/NillableDateTime" + }, + "endDate": { + "$ref": "#/components/schemas/NillableDateTime" + } + }, + "description": "ad set schedule patch model" + }, + "PatchAdSetBiddingV24Q1": { + "type": "object", + "properties": { + "bidAmount": { + "$ref": "#/components/schemas/NillableDecimal" + } + }, + "description": "ad set bidding patch model" + }, + "PatchAdSetBudgetV24Q1": { + "type": "object", + "properties": { + "budgetStrategy": { + "enum": [ + "capped", + "uncapped" + ], + "type": "string", + "nullable": true, + "x-nullable": true + }, + "budgetRenewal": { + "enum": [ + "undefined", + "daily", + "monthly", + "lifetime", + "weekly" + ], + "type": "string", + "nullable": true, + "x-nullable": true + }, + "budgetDeliverySmoothing": { + "enum": [ + "accelerated", + "standard" + ], + "type": "string", + "nullable": true, + "x-nullable": true + }, + "budgetDeliveryWeek": { + "enum": [ + "undefined", + "mondayToSunday", + "tuesdayToMonday", + "wednesdayToTuesday", + "thursdayToWednesday", + "fridayToThursday", + "saturdayToFriday", + "sundayToSaturday" + ], + "type": "string", + "nullable": true, + "x-nullable": true + }, + "budgetAmount": { + "$ref": "#/components/schemas/NillableDecimal" + } + }, + "description": "ad set budget patch model" + }, + "CreateAdSetScheduleV24Q1": { + "required": [ + "startDate" + ], + "type": "object", + "properties": { + "startDate": { + "type": "string", + "format": "date-time" + }, + "endDate": { + "type": "string", + "format": "date-time", + "nullable": true, + "x-nullable": true + } + }, + "description": "ad set schedule create model" + }, + "CreateAdSetBiddingV24Q1": { + "required": [ + "costController" + ], + "type": "object", + "properties": { + "bidAmount": { + "type": "number", + "description": "Decimal value target relating to the `bidStrategy` specified. May be `null` for strategies that do not require a target value. At most 4 decimals are supported. Additional decimals are rounded.", + "format": "double", + "nullable": true, + "x-nullable": true + }, + "costController": { + "enum": [ + "COS", + "CPC", + "CPI", + "CPM", + "CPO", + "CPSV", + "CPV", + "dailyBudget", + "targetCPM" + ], + "type": "string", + "description": "How spend is controlled" + } + }, + "description": "ad set bidding create model" + }, + "CreateAdSetTargetingV24Q1": { + "required": [ + "frequencyCapping" + ], + "type": "object", + "properties": { + "deliveryLimitations": { + "$ref": "#/components/schemas/AdSetDeliveryLimitationsV24Q1" + }, + "geoLocation": { + "$ref": "#/components/schemas/CreateAdSetGeoLocationV24Q1" + }, + "frequencyCapping": { + "$ref": "#/components/schemas/AdSetFrequencyCappingV24Q1" + } + }, + "description": "Targeting configuration of the ad set" + }, + "CreateAdSetBudgetV24Q1": { + "required": [ + "budgetStrategy" + ], + "type": "object", + "properties": { + "budgetStrategy": { + "enum": [ + "capped", + "uncapped" + ], + "type": "string" + }, + "budgetRenewal": { + "enum": [ + "undefined", + "daily", + "monthly", + "lifetime", + "weekly" + ], + "type": "string", + "nullable": true + }, + "budgetDeliverySmoothing": { + "enum": [ + "accelerated", + "standard" + ], + "type": "string", + "nullable": true + }, + "budgetDeliveryWeek": { + "enum": [ + "undefined", + "mondayToSunday", + "tuesdayToMonday", + "wednesdayToTuesday", + "thursdayToWednesday", + "fridayToThursday", + "saturdayToFriday", + "sundayToSaturday" + ], + "type": "string", + "nullable": true + }, + "budgetAmount": { + "type": "number", + "format": "double", + "nullable": true, + "x-nullable": true + } + }, + "description": "ad set budget create model" + }, + "PatchCampaignSpendLimit": { + "type": "object", + "properties": { + "spendLimitType": { + "enum": [ + "capped", + "uncapped" + ], + "type": "string", + "nullable": true, + "x-nullable": true + }, + "spendLimitRenewal": { + "enum": [ + "undefined", + "daily", + "monthly", + "lifetime" + ], + "type": "string", + "nullable": true, + "x-nullable": true + }, + "spendLimitAmount": { + "$ref": "#/components/schemas/NillableDecimal" + } + }, + "description": "campaign spend limit model" + }, + "CreateCampaignSpendLimit": { + "required": [ + "spendLimitType" + ], + "type": "object", + "properties": { + "spendLimitType": { + "enum": [ + "capped", + "uncapped" + ], + "type": "string", + "description": "Whether your spend limit is capped or not" + }, + "spendLimitRenewal": { + "enum": [ + "undefined", + "daily", + "monthly", + "lifetime" + ], + "type": "string", + "description": "The pace of the spend limit renewal", + "nullable": true + }, + "spendLimitAmount": { + "type": "number", + "description": "The amount of the spend limit. null if spendLimitType is uncapped.", + "format": "double", + "nullable": true, + "x-nullable": true + } + }, + "description": "campaign spend limit create model" + }, + "NillableDateTime": { + "type": "object", + "properties": { + "value": { + "type": "string", + "format": "date-time", + "nullable": true, + "x-nullable": true + } + }, + "description": "structure that encapsulates an object that have valid business null values. If the structure is provided (i.e. not null), then the value in it, even null, is provided." + }, + "AdSetDeliveryLimitationsV24Q1": { + "type": "object", + "properties": { + "environments": { + "type": "array", + "items": { + "enum": [ + "web", + "inApp" + ], + "type": "string" + }, + "nullable": true, + "x-nullable": true + }, + "devices": { + "type": "array", + "items": { + "enum": [ + "other", + "desktop", + "mobile", + "tablet" + ], + "type": "string" + }, + "nullable": true, + "x-nullable": true + }, + "operatingSystems": { + "type": "array", + "items": { + "enum": [ + "android", + "ios", + "unknown" + ], + "type": "string" + }, + "nullable": true, + "x-nullable": true + } + }, + "description": "ad set delivery limitations model" + }, + "AdSetGeoLocationV24Q1": { + "type": "object", + "properties": { + "countries": { + "$ref": "#/components/schemas/NillableAdSetTargetingRuleV24Q1" + }, + "subdivisions": { + "$ref": "#/components/schemas/NillableAdSetTargetingRuleV24Q1" + }, + "zipCodes": { + "$ref": "#/components/schemas/NillableAdSetTargetingRuleV24Q1" + } + }, + "description": "ad set geolocation model" + }, + "AdSetFrequencyCappingV24Q1": { + "type": "object", + "properties": { + "frequency": { + "enum": [ + "hourly", + "daily", + "lifetime", + "advanced" + ], + "type": "string", + "nullable": true + }, + "maximumImpressions": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + "description": "ad set frequency capping model" + }, + "NillableDecimal": { + "type": "object", + "properties": { + "value": { + "type": "number", + "format": "double", + "nullable": true, + "x-nullable": true + } + }, + "description": "structure that encapsulates an object that have valid business null values. If the structure is provided (i.e. not null), then the value in it, even null, is provided.", + "nullable": true, + "x-nullable": true + }, + "CreateAdSetGeoLocationV24Q1": { + "type": "object", + "properties": { + "countries": { + "$ref": "#/components/schemas/AdSetTargetingRuleV24Q1" + }, + "subdivisions": { + "$ref": "#/components/schemas/AdSetTargetingRuleV24Q1" + }, + "zipCodes": { + "$ref": "#/components/schemas/AdSetTargetingRuleV24Q1" + } + }, + "description": "Geolocation configuration of the ad set" + }, + "NillableAdSetTargetingRuleV24Q1": { + "type": "object", + "properties": { + "value": { + "type": "object", + "allOf": [ + { + "$ref": "#/components/schemas/AdSetTargetingRuleV24Q1" + } + ], + "nullable": true, + "x-nullable": true + } + }, + "description": "structure that encapsulates an object that have valid business null values. If the structure is provided (i.e. not null), then the value in it, even null, is provided." + }, + "AdSetTargetingRuleV24Q1": { + "type": "object", + "properties": { + "operand": { + "enum": [ + "undefined", + "in", + "notIn" + ], + "type": "string", + "nullable": true + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true, + "x-nullable": true + } + }, + "description": "ad set targeting rule model" + }, + "AdResponse": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/AdResource" + }, + "warnings": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true + }, + "errors": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true + } + }, + "description": "Data model for response resource" + }, + "AdListResponse": { + "type": "object", + "properties": { + "data": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/components/schemas/AdResource" + }, + "nullable": true + }, + "warnings": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true + }, + "errors": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true + } + }, + "description": "Data model for a list of response resources" + }, + "CouponListResponse": { + "type": "object", + "properties": { + "data": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/components/schemas/CouponResource" + }, + "nullable": true + }, + "warnings": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true + }, + "errors": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true + } + }, + "description": "Data model for a list of response resources" + }, + "CouponResponse": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/CouponResource" + }, + "warnings": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true + }, + "errors": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true + } + }, + "description": "Data model for response resource" + }, + "CouponSupportedSizesResponse": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/CouponSupportedSizesResource" + }, + "warnings": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true + }, + "errors": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true + } + }, + "description": "Data model for response resource" + }, + "CreativeListResponse": { + "type": "object", + "properties": { + "data": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/components/schemas/CreativeResource" + }, + "nullable": true + }, + "warnings": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true + }, + "errors": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true + } + }, + "description": "Data model for a list of response resources" + }, + "CreativeResponse": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/CreativeResource" + }, + "warnings": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true + }, + "errors": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true + } + }, + "description": "Data model for response resource" + }, + "AdWriteRequest": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/AdWriteResource" + } + }, + "description": "Data model for input resource" + }, + "CreateCouponRequest": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/CreateCouponResource" + } + }, + "description": "Data model for input resource" + }, + "UpdateCouponRequest": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/UpdateCouponResource" + } + }, + "description": "Data model for input resource" + }, + "CreativeWriteRequest": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/CreativeWriteResource" + } + }, + "description": "Data model for input resource" + }, + "AdResource": { + "type": "object", + "properties": { + "attributes": { + "$ref": "#/components/schemas/Ad" + }, + "id": { + "type": "string", + "nullable": true + }, + "type": { + "type": "string", + "nullable": true + } + }, + "description": "Data model for a Resource" + }, + "CouponResource": { + "type": "object", + "properties": { + "attributes": { + "$ref": "#/components/schemas/Coupon" + }, + "id": { + "type": "string", + "nullable": true + }, + "type": { + "type": "string", + "nullable": true + } + }, + "description": "Data model for a Resource" + }, + "CouponSupportedSizesResource": { + "type": "object", + "properties": { + "attributes": { + "$ref": "#/components/schemas/CouponSupportedSizes" + }, + "id": { + "type": "string", + "nullable": true + }, + "type": { + "type": "string", + "nullable": true + } + }, + "description": "Data model for a Resource" + }, + "CreativeResource": { + "type": "object", + "properties": { + "attributes": { + "$ref": "#/components/schemas/Creative" + }, + "id": { + "type": "string", + "nullable": true + }, + "type": { + "type": "string", + "nullable": true + } + }, + "description": "Data model for a Resource" + }, + "AdWriteResource": { + "type": "object", + "properties": { + "attributes": { + "$ref": "#/components/schemas/AdWrite" + }, + "id": { + "type": "string", + "nullable": true + }, + "type": { + "type": "string", + "nullable": true + } + }, + "description": "Data model for a Resource" + }, + "CreateCouponResource": { + "type": "object", + "properties": { + "attributes": { + "$ref": "#/components/schemas/CreateCoupon" + }, + "id": { + "type": "string", + "nullable": true + }, + "type": { + "type": "string", + "nullable": true + } + }, + "description": "Data model for a Resource" + }, + "UpdateCouponResource": { + "type": "object", + "properties": { + "attributes": { + "$ref": "#/components/schemas/UpdateCoupon" + }, + "id": { + "type": "string", + "nullable": true + }, + "type": { + "type": "string", + "nullable": true + } + }, + "description": "Data model for a Resource" + }, + "CreativeWriteResource": { + "type": "object", + "properties": { + "attributes": { + "$ref": "#/components/schemas/CreativeWrite" + }, + "id": { + "type": "string", + "nullable": true + }, + "type": { + "type": "string", + "nullable": true + } + }, + "description": "Data model for a Resource" + }, + "Ad": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the ad", + "nullable": true + }, + "description": { + "type": "string", + "description": "The description of the ad", + "nullable": true + }, + "creativeId": { + "type": "string", + "description": "The id of the Creative binded to this Ad", + "nullable": true + }, + "adSetId": { + "type": "string", + "description": "The id of the Ad Set binded to this Ad", + "nullable": true + }, + "inventoryType": { + "enum": [ + "Native", + "Display", + "Video" + ], + "type": "string", + "description": "The inventory the Ad belongs to. Possible values are \"Display\" and \"Native\". This is optional since this doesn't make sense for every creative type but will throw an error if not set for a dynamic creative.", + "nullable": true + }, + "startDate": { + "type": "string", + "description": "The date when the ad will be launched\r\nString must be in ISO8601 format", + "nullable": true + }, + "endDate": { + "type": "string", + "description": "The date when when we will stop to show this ad. If the end date is not specified (i.e. null) then the ad will go on forever\r\nString must be in ISO8601 format", + "nullable": true + } + }, + "description": "An ad is the binding that connects a creative with an ad set" + }, + "Coupon": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the Coupon", + "nullable": true + }, + "description": { + "type": "string", + "description": "The description of the Coupon", + "nullable": true + }, + "author": { + "type": "string", + "description": "The login of the person who created this Coupon", + "nullable": true + }, + "advertiserId": { + "type": "string", + "description": "Advertiser linked to the Coupon", + "nullable": true + }, + "adSetId": { + "type": "string", + "description": "The id of the Ad Set on which the Coupon is applied to", + "nullable": true + }, + "landingPageUrl": { + "type": "string", + "description": "Web redirection of the landing page url", + "nullable": true + }, + "startDate": { + "type": "string", + "description": "The date when the Coupon will be launched\r\nString must be in ISO8601 format", + "nullable": true + }, + "endDate": { + "type": "string", + "description": "The date when when we will stop to show this Coupon. If the end date is not specified (i.e. null) then the Coupon will go on forever\r\nString must be in ISO8601 format", + "nullable": true + }, + "format": { + "type": "string", + "description": "Format of the Coupon, it can have two values: \"FullFrame\" or \"LogoZone\"", + "nullable": true + }, + "status": { + "type": "string", + "description": "The status of the Coupon", + "nullable": true + }, + "images": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/components/schemas/ImageSlide" + }, + "description": "List of slides containing the image URLs", + "nullable": true + }, + "showEvery": { + "type": "integer", + "description": "Show the Coupon every N seconds (between 1 and 10)", + "format": "int32", + "nullable": true + }, + "showDuration": { + "type": "integer", + "description": "Show Coupon for a duration of N seconds (between 1 and 5)", + "format": "int32", + "nullable": true + }, + "rotationsNumber": { + "type": "integer", + "description": "Number of rotations for the Coupons (from 1 to 10 times)", + "format": "int32", + "nullable": true + } + }, + "description": "Coupons are static images applied on ad set which can be displayed within an ad and link to a landing page." + }, + "CouponSupportedSizes": { + "type": "object", + "properties": { + "logoZone": { + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "description": "Array of LogoZone sizes as string in width x height format", + "nullable": true + }, + "fullFrame": { + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "description": "Array of FullFrame sizes as string in width x height format", + "nullable": true + } + }, + "description": "Entity containing the list of Coupon supported sizes" + }, + "Creative": { + "required": [ + "name", + "author", + "status", + "advertiserId" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the creative" + }, + "description": { + "type": "string", + "description": "The description of the creative", + "nullable": true + }, + "author": { + "type": "string", + "description": "The login of the person who created this creative (" + }, + "status": { + "type": "string", + "description": "The status of the creative" + }, + "format": { + "type": "string", + "description": "The format of the creative", + "nullable": true + }, + "advertiserId": { + "type": "string", + "description": "Advertiser linked to the Creative" + }, + "datasetId": { + "type": "string", + "description": "Data set id linked to the Creative", + "nullable": true + }, + "imageAttributes": { + "$ref": "#/components/schemas/ImageAttributes" + }, + "htmlTagAttributes": { + "$ref": "#/components/schemas/HtmlTagAttributes" + }, + "dynamicAttributes": { + "$ref": "#/components/schemas/DynamicAttributes" + }, + "adaptiveAttributes": { + "$ref": "#/components/schemas/AdaptiveAttributes" + } + }, + "description": "A creative is a project with the necessary information to display a creative" + }, + "AdWrite": { + "required": [ + "name", + "creativeId", + "adSetId", + "startDate" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the ad" + }, + "description": { + "type": "string", + "description": "The description of the ad", + "nullable": true + }, + "creativeId": { + "type": "string", + "description": "The id of the Creative bound to this Ad" + }, + "adSetId": { + "type": "string", + "description": "The id of the Ad Set bound to this Ad" + }, + "inventoryType": { + "enum": [ + "Display", + "Native" + ], + "type": "string", + "description": "The inventory the Ad to be created or updated belongs to. Possible values are \"Display\" and \"Native\". This is optional since this doesn't make sense for every creative type but will throw an error if not set for a dynamic creative.", + "nullable": true + }, + "startDate": { + "type": "string", + "description": "The date when the ad will be launched\r\nString must be in ISO8601 format" + }, + "endDate": { + "type": "string", + "description": "The date when when we will stop to show this ad. If the end date is not specified (i.e. null) then the ad will go on forever\r\nString must be in ISO8601 format", + "nullable": true + } + }, + "description": "Entity to create or update an ad" + }, + "CreateCoupon": { + "required": [ + "name", + "adSetId", + "landingPageUrl", + "startDate", + "format", + "images", + "showEvery", + "showDuration", + "rotationsNumber" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the Coupon" + }, + "description": { + "type": "string", + "description": "The description of the Coupon", + "nullable": true + }, + "adSetId": { + "type": "string", + "description": "The id of the Ad Set on which the Coupon is applied to" + }, + "landingPageUrl": { + "type": "string", + "description": "Web redirection of the landing page url" + }, + "startDate": { + "type": "string", + "description": "The date when the coupon will be launched\r\nString must be in ISO8601 format" + }, + "endDate": { + "type": "string", + "description": "The date when when we will stop to show this Coupon. If the end date is not specified (i.e. null) then the Coupon will go on forever\r\nString must be in ISO8601 format", + "nullable": true + }, + "format": { + "enum": [ + "FullFrame", + "LogoZone" + ], + "type": "string", + "description": "Format of the Coupon, it can have two values: \"FullFrame\" or \"LogoZone\"" + }, + "images": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/components/schemas/CreateImageSlide" + }, + "description": "List of slides containing the images as a base-64 encoded string" + }, + "showEvery": { + "maximum": 10, + "minimum": 1, + "type": "integer", + "description": "Show the Coupon every N seconds (between 1 and 10)", + "format": "int32" + }, + "showDuration": { + "maximum": 5, + "minimum": 1, + "type": "integer", + "description": "Show Coupon for a duration of N seconds (between 1 and 5)", + "format": "int32" + }, + "rotationsNumber": { + "maximum": 10, + "minimum": 1, + "type": "integer", + "description": "Number of rotations for the Coupons (from 1 to 10 times)", + "format": "int32" + } + }, + "description": "Entity to create a Coupon" + }, + "UpdateCoupon": { + "required": [ + "startDate" + ], + "type": "object", + "properties": { + "startDate": { + "type": "string", + "description": "The date when the Coupon will be launched\r\nString must be in ISO8601 format" + }, + "endDate": { + "type": "string", + "description": "The date when when we will stop to show this Coupon. If the end date is not specified (i.e. null) then the Coupon will go on forever\r\nString must be in ISO8601 format", + "nullable": true + } + }, + "description": "Entity to edit a Coupon" + }, + "CreativeWrite": { + "required": [ + "name", + "format", + "datasetId" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the creative" + }, + "description": { + "type": "string", + "description": "The description of the creative", + "nullable": true + }, + "format": { + "enum": [ + "Image", + "HtmlTag", + "Dynamic", + "Adaptive" + ], + "type": "string", + "description": "The format of the creative\r\nYou can use \"Image\", \" HtmlTag\", \"Dynamic\" or \"Adaptive\"" + }, + "datasetId": { + "type": "string", + "description": "Dataset linked to the Creative" + }, + "imageWriteAttributes": { + "$ref": "#/components/schemas/ImageWriteAttributes" + }, + "htmlTagWriteAttributes": { + "$ref": "#/components/schemas/HtmlTagWriteAttributes" + }, + "dynamicWriteAttributes": { + "$ref": "#/components/schemas/DynamicWriteAttributes" + }, + "adaptiveWriteAttributes": { + "$ref": "#/components/schemas/AdaptiveWriteAttributes" + } + }, + "description": "Entity to create or update a creative" + }, + "ImageSlide": { + "type": "object", + "properties": { + "width": { + "type": "integer", + "description": "Width of the Coupon slide", + "format": "int32", + "nullable": true + }, + "height": { + "type": "integer", + "description": "Height of the Coupon slide", + "format": "int32", + "nullable": true + }, + "slideUrls": { + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "description": "Array of images of the same size uploaded on demostatic.criteo.com when deploying and then static.criteo.net", + "nullable": true + } + }, + "description": "Slide containing the image URLs" + }, + "ImageAttributes": { + "type": "object", + "properties": { + "urls": { + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "description": "Array of images uploaded on demostatic.criteo.com when deploying and then static.criteo.net", + "nullable": true + }, + "landingPageUrl": { + "type": "string", + "description": "Web redirection of the landing page url", + "nullable": true + } + }, + "description": "The attributes specific to Image creatives" + }, + "HtmlTagAttributes": { + "type": "object", + "properties": { + "tags": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/components/schemas/Tag" + }, + "description": "An array containing the html tags", + "nullable": true + } + }, + "description": "The attributes specific to HtmlTag creatives" + }, + "DynamicAttributes": { + "type": "object", + "properties": { + "logos": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/components/schemas/ImageShape" + }, + "description": "Logo images uploaded on demostatic.criteo.com when deploying and then static.criteo.net", + "nullable": true + }, + "creativeBackgroundColor": { + "type": "string", + "description": "Color of the creative's background\r\nValid hexadecimal color (e.g. \"AB00FF\")", + "nullable": true + }, + "bodyTextColor": { + "type": "string", + "description": "Color of the creative's body text\r\nValid hexadecimal color (e.g. \"AB00FF\")", + "nullable": true + }, + "pricesColor": { + "type": "string", + "description": "Color of the creative's prices\r\nValid hexadecimal color (e.g. \"AB00FF\")", + "nullable": true + }, + "primaryFont": { + "type": "string", + "description": "Font of the primary font\r\nValid supported font like \"Arial\"", + "nullable": true + }, + "callsToAction": { + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "description": "A Call-to-Action (CTA) is an action-driven instruction to your audience intended to provoke an immediate\r\nresponse, such as “Buy now” or “Go!”.", + "nullable": true + }, + "productImageDisplay": { + "enum": [ + "ShowFullImage", + "ZoomOnImage" + ], + "type": "string", + "description": "Value can be \"ShowFullImage\" or \"ZoomOnImage\". Choose whether your product catalog images should fit inside the allocated\r\nspace (\"ShowFullImage\") or whether they should fill that space (\"ZoomOnImage\"). If you choose ZoomOnImage, there may be some\r\nimage cropping.", + "nullable": true + } + }, + "description": "The attributes specific to Dynamic creatives" + }, + "AdaptiveAttributes": { + "required": [ + "layouts", + "logos", + "headlineText", + "headlineFont", + "descriptionText", + "descriptionFont", + "callsToAction", + "colors", + "landingPageUrl" + ], + "type": "object", + "properties": { + "layouts": { + "uniqueItems": false, + "type": "array", + "items": { + "enum": [ + "Editorial", + "Montage", + "InBannerVideo" + ], + "type": "string" + }, + "description": "The Adaptive layouts that are enabled.\r\nIt can contain any of the following values: \"Editorial\", “Montage“, \"InBannerVideo\"." + }, + "logos": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/components/schemas/ImageShape" + }, + "description": "Logo images uploaded on demostatic.criteo.com when deploying and then static.criteo.net" + }, + "headlineText": { + "type": "string", + "description": "The headline text of the banner" + }, + "headlineFont": { + "type": "string", + "description": "Font of the headline\r\nValid supported font like \"Arial\"" + }, + "descriptionText": { + "type": "string", + "description": "The description text of the banner" + }, + "descriptionFont": { + "type": "string", + "description": "Font of the description\r\nValid supported font like \"Arial\"" + }, + "callsToAction": { + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "description": "A Call-to-Action (CTA) is an action-driven instruction to your audience intended to provoke an immediate\r\nresponse, such as “Buy now” or “Go!”." + }, + "colors": { + "$ref": "#/components/schemas/AdaptiveColors" + }, + "imageSets": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/components/schemas/ImageSet" + }, + "description": "Multiple image sets, each image set consists of multiple images and a headline text.", + "nullable": true + }, + "imageDisplay": { + "enum": [ + "ShowFullImage", + "ZoomOnImage" + ], + "type": "string", + "description": "Value can be \"ShowFullImage\" or \"ZoomOnImage\". Choose whether your image set should fit inside the allocated\r\nspace (\"ShowFullImage\") or whether it should fill that space (\"ZoomOnImage\"). If you choose ZoomOnImage, there may be some\r\nimage cropping.", + "nullable": true + }, + "videos": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/components/schemas/VideoDetail" + }, + "description": "Multiple videos potentially in different shapes.", + "nullable": true + }, + "landingPageUrl": { + "type": "string", + "description": "Web redirection of the landing page url", + "format": "uri" + } + }, + "description": "The attributes specific to Adaptive creatives" + }, + "CreateImageSlide": { + "type": "object", + "properties": { + "width": { + "type": "integer", + "description": "Width of the Coupon slide", + "format": "int32", + "nullable": true + }, + "height": { + "type": "integer", + "description": "Height of the Coupon slide", + "format": "int32", + "nullable": true + }, + "slideBase64Strings": { + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "description": "Array of images of the same size as a base-64 encoded string", + "nullable": true + } + }, + "description": "Slide containing the images of the same size as a base-64 encoded string" + }, + "ImageWriteAttributes": { + "required": [ + "base64Strings", + "landingPageUrl" + ], + "type": "object", + "properties": { + "base64Strings": { + "minItems": 1, + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "description": "Array of images as a base-64 encoded string" + }, + "landingPageUrl": { + "type": "string", + "description": "Web redirection of the landing page url", + "format": "uri" + } + }, + "description": "The attributes specific to create or update an Image creative" + }, + "HtmlTagWriteAttributes": { + "required": [ + "tags" + ], + "type": "object", + "properties": { + "tags": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/components/schemas/Tag" + }, + "description": "An array containing the html tags" + } + }, + "description": "The attributes specific to create or update a HtmlTag creative" + }, + "DynamicWriteAttributes": { + "required": [ + "bodyTextColor", + "callsToAction", + "logoBase64String", + "pricesColor", + "productImageDisplay" + ], + "type": "object", + "properties": { + "logoBase64String": { + "type": "string", + "description": "Logo image as a base-64 encoded string" + }, + "creativeBackgroundColor": { + "type": "string", + "description": "Color of the creative's background\r\nValid hexadecimal RGB color (e.g. \"AB00FF\")", + "nullable": true + }, + "bodyTextColor": { + "type": "string", + "description": "Color of the creative's body text\r\nValid hexadecimal RGB color (e.g. \"AB00FF\")" + }, + "pricesColor": { + "type": "string", + "description": "Color of the creative's prices\r\nValid hexadecimal RGB color (e.g. \"AB00FF\")" + }, + "primaryFont": { + "type": "string", + "description": "Font of the primary font\r\nValid supported font like \"Arial\"", + "nullable": true + }, + "callsToAction": { + "minItems": 1, + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "description": "A Call-to-Action (CTA) is an action-driven instruction to your audience intended to provoke an immediate\r\nresponse, such as “Buy now” or “Go!”." + }, + "productImageDisplay": { + "enum": [ + "ShowFullImage", + "ZoomOnImage" + ], + "type": "string", + "description": "Value can be \"ShowFullImage\" or \"ZoomOnImage\". Choose whether your product catalog images should fit inside the allocated\r\nspace (\"ShowFullImage\") or whether they should fill that space (\"ZoomOnImage\"). If you choose ZoomOnImage, there may be some\r\nimage cropping." + } + }, + "description": "The attributes specific to create or update a Dynamic creative" + }, + "AdaptiveWriteAttributes": { + "required": [ + "layouts", + "logoBase64String", + "headlineText", + "headlineFont", + "descriptionText", + "descriptionFont", + "callsToAction", + "colors", + "landingPageUrl" + ], + "type": "object", + "properties": { + "layouts": { + "minItems": 1, + "uniqueItems": false, + "type": "array", + "items": { + "enum": [ + "Editorial", + "Montage", + "InBannerVideo" + ], + "type": "string" + }, + "description": "The Adaptive layouts that are enabled.\r\nIt can contain any of the following values: \"Editorial\", “Montage“, \"InBannerVideo\"." + }, + "logoBase64String": { + "type": "string", + "description": "Logo image as a base-64 encoded string" + }, + "headlineText": { + "type": "string", + "description": "The headline text of the banner" + }, + "headlineFont": { + "type": "string", + "description": "Font of the headline\r\nValid supported font like \"Arial\"" + }, + "descriptionText": { + "type": "string", + "description": "The description text of the banner" + }, + "descriptionFont": { + "type": "string", + "description": "Font of the description\r\nValid supported font like \"Arial\"" + }, + "callsToAction": { + "minItems": 1, + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "description": "A Call-to-Action (CTA) is an action-driven instruction to your audience intended to provoke an immediate\r\nresponse, such as “Buy now” or “Go!”." + }, + "colors": { + "$ref": "#/components/schemas/AdaptiveColors" + }, + "imageSetsBase64": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/components/schemas/ImageSetBase64" + }, + "description": "Multiple image sets, each image set consists of multiple images as a base-64 encoded string and a headline text.", + "nullable": true + }, + "imageDisplay": { + "enum": [ + "ShowFullImage", + "ZoomOnImage" + ], + "type": "string", + "description": "Value can be \"ShowFullImage\" or \"ZoomOnImage\". Choose whether your image set should fit inside the allocated\r\nspace (\"ShowFullImage\") or whether it should fill that space (\"ZoomOnImage\"). If you choose ZoomOnImage, there may be some\r\nimage cropping.", + "nullable": true + }, + "videoBase64Strings": { + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "description": "Multiple videos potentially in different shapes, each video is a base-64 encoded string.", + "nullable": true + }, + "landingPageUrl": { + "type": "string", + "description": "Web redirection of the landing page url.", + "format": "uri" + } + }, + "description": "The attributes specific to create or update an Adaptive creative" + }, + "Tag": { + "type": "object", + "properties": { + "htmlTag": { + "type": "string", + "description": "Html tag", + "nullable": true + }, + "size": { + "$ref": "#/components/schemas/Size" + } + }, + "description": "Entity specifying the html of the tag and its size" + }, + "ImageShape": { + "required": [ + "shape", + "url" + ], + "type": "object", + "properties": { + "shape": { + "enum": [ + "Horizontal", + "Vertical", + "Square" + ], + "type": "string", + "description": "Ratio of the image" + }, + "url": { + "type": "string", + "description": "URL of the image uploaded on demostatic.criteo.com when deploying and then static.criteo.net", + "format": "uri" + } + }, + "description": "Entity containing the shape and url of the image" + }, + "AdaptiveColors": { + "required": [ + "logoAreaAndTitleColor", + "backgroundColor", + "text1Color", + "text2Color", + "ctaBackgroundColor", + "ctaTextColor" + ], + "type": "object", + "properties": { + "logoAreaAndTitleColor": { + "type": "string", + "description": "Color of the creative's logo area.\r\nA valid RGB24 color in hexadecimal (e.g. \"AB00FF\")." + }, + "backgroundColor": { + "type": "string", + "description": "Color of the creative's background.\r\nA valid RGB24 color in hexadecimal (e.g. \"AB00FF\")" + }, + "text1Color": { + "type": "string", + "description": "Color of the headline and the description texts.\r\nA valid RGB24 color in hexadecimal (e.g. \"AB00FF\")" + }, + "text2Color": { + "type": "string", + "description": "Color of the image set's headline text.\r\nA valid RGB24 color in hexadecimal (e.g. \"AB00FF\")" + }, + "ctaBackgroundColor": { + "type": "string", + "description": "Color of the background of the CTA.\r\nA valid RGB24 color in hexadecimal (e.g. \"AB00FF\")." + }, + "ctaTextColor": { + "type": "string", + "description": "Color of the text of the CTA.\r\nA valid RGB24 color in hexadecimal (e.g. \"AB00FF\")." + } + }, + "description": "Entity consists of the color aliases of the creative's elements" + }, + "ImageSet": { + "required": [ + "images" + ], + "type": "object", + "properties": { + "images": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/components/schemas/ImageShape" + }, + "description": "The images' urls with their shapes." + }, + "headlineText": { + "type": "string", + "description": "The headline of the image set", + "nullable": true + } + }, + "description": "Entity consists of multiple images in different ratios and a headline text." + }, + "VideoDetail": { + "required": [ + "duration", + "shape", + "url" + ], + "type": "object", + "properties": { + "duration": { + "type": "number", + "description": "The duration of the video in milliseconds, the video could be trimmed if it is longer than 30000 ms.", + "format": "double" + }, + "shape": { + "enum": [ + "Horizontal", + "Vertical", + "Square" + ], + "type": "string", + "description": "Shape of the video" + }, + "url": { + "type": "string", + "description": "URL of the video uploaded on demostatic.criteo.com when deploying and then static.criteo.net", + "format": "uri" + } + }, + "description": "Entity consists of the url of the video, its duration and its shape." + }, + "ImageSetBase64": { + "required": [ + "imageBase64Strings" + ], + "type": "object", + "properties": { + "imageBase64Strings": { + "minItems": 1, + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "description": "Multiple images potentially in different shapes, each image is a base-64 encoded string." + }, + "headlineText": { + "type": "string", + "description": "The headline of the image set", + "nullable": true + } + }, + "description": "Entity consists of multiple images in different ratios as a base-64 encoded and a headline text." + }, + "Size": { + "type": "object", + "properties": { + "width": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "height": { + "type": "integer", + "format": "int32", + "nullable": true + } + }, + "description": "Size entity containing width and height of the creative" + }, + "TransparencyReportDataMessage": { + "required": [ + "data" + ], + "type": "object", + "properties": { + "data": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/components/schemas/TransparencyReportEntityMessage" + } + } + }, + "description": "This is the message defining the response for Transparency report" + }, + "ProblemsDetails": { + "type": "object", + "properties": { + "errors": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/components/schemas/ProblemDetails" + }, + "nullable": true, + "readOnly": true + } + }, + "description": "Common problems object" + }, + "TransparencyQueryMessage": { + "required": [ + "startDate", + "endDate" + ], + "type": "object", + "properties": { + "shouldDisplayProductIds": { + "type": "boolean", + "description": "Specify if the product ids are displayed in the report.", + "default": false, + "nullable": true + }, + "startDate": { + "type": "string", + "description": "Start date of the report. Date component of ISO 8061 format, any time or timezone component is ignored.", + "format": "date-time" + }, + "endDate": { + "type": "string", + "description": "End date of the report. Date component of ISO 8061 format, any time or timezone component is ignored.", + "format": "date-time" + } + }, + "description": "This is the message defining the query for Transparency report", + "example": { + "shouldDisplayProductIds": false, + "startDate": "2023-04-03T00:00:00.0000000+00:00", + "endDate": "2023-04-06T00:00:00.0000000+00:00" + } + }, + "PlacementsReportQueryDataMessage": { + "required": [ + "data" + ], + "type": "object", + "properties": { + "data": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/components/schemas/PlacementsReportQueryEntityMessage" + } + } + }, + "description": "Contains queries for Placements report", + "example": { + "data": [ + { + "type": "PlacementReport", + "attributes": { + "advertiserIds": "123,456,789", + "campaignIds": "111,222,333,444", + "adsetIds": "135,246,357,468", + "environment": "web", + "placement": "MyPlacement", + "dimensions": [ + "AdsetId", + "AdvertiserId", + "Placement" + ], + "metrics": [ + "clicks", + "displays", + "cost" + ], + "currency": "EUR", + "disclosed": false, + "format": "csv", + "timezone": "Europe/Paris", + "startDate": "2022-08-29T00:00:00.0000000+00:00", + "endDate": "2022-08-29T00:00:00.0000000+00:00" + } + } + ] + } + }, + "StatisticsReportQueryMessage": { + "required": [ + "dimensions", + "metrics", + "currency", + "format", + "startDate", + "endDate" + ], + "type": "object", + "properties": { + "advertiserIds": { + "type": "string", + "description": "The comma-separated list of advertiser ids. If empty, all the advertisers in the portfolio will be used", + "nullable": true + }, + "adSetIds": { + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "description": "list of adSets ids. If empty, all the adSets will be fetched", + "nullable": true + }, + "adSetNames": { + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "description": "list of adSets names. If empty, all the adSets will be fetched", + "nullable": true + }, + "adSetStatus": { + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "description": "list of adSets status. If empty, all the adSets will be fetched", + "nullable": true + }, + "dimensions": { + "uniqueItems": false, + "type": "array", + "items": { + "enum": [ + "AdsetId", + "Adset", + "AdvertiserId", + "Advertiser", + "CategoryId", + "Category", + "Hour", + "Day", + "Week", + "Month", + "Year", + "Os", + "Device", + "CampaignId", + "Campaign", + "AdId", + "Ad", + "CouponId", + "Coupon", + "MarketingObjectiveId", + "MarketingObjective", + "ChannelId", + "Channel", + "Goal" + ], + "type": "string" + }, + "description": "The dimensions for the report." + }, + "metrics": { + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of metrics to report." + }, + "currency": { + "type": "string", + "description": "The currency used for the report. ISO 4217 code (three-letter capitals)." + }, + "format": { + "type": "string", + "description": "The file format of the generated report: csv, xml, excel or json." + }, + "timezone": { + "type": "string", + "description": "The timezone used for the report. Timezone Database format (Tz).", + "default": "UTC", + "nullable": true + }, + "startDate": { + "type": "string", + "description": "Start date of the report. Date component of ISO 8061 format, any time or timezone component is ignored.", + "format": "date-time" + }, + "endDate": { + "type": "string", + "description": "End date of the report. Date component of ISO 8061 format, any time or timezone component is ignored.", + "format": "date-time" + } + }, + "description": "This is the message defining the query for Adset report", + "example": { + "advertiserIds": "123,456,789", + "adSetIds": [ + "12345", + "54321" + ], + "adSetNames": [ + "myAdSet1", + "myAdSet2" + ], + "adSetStatus": [ + "Active" + ], + "dimensions": [ + "CampaignId", + "Campaign", + "AdsetId", + "Adset", + "AdvertiserId", + "Advertiser", + "AdId", + "Ad", + "CouponId", + "Coupon", + "CategoryId", + "Category", + "Hour", + "Day", + "Week", + "Month", + "Year", + "Os", + "Device" + ], + "metrics": [ + "Clicks", + "Displays", + "Cpc", + "Visits" + ], + "currency": "EUR", + "format": "csv", + "timezone": "Europe/Paris", + "startDate": "2022-08-29T00:00:00.0000000+00:00", + "endDate": "2022-09-01T00:00:00.0000000+00:00" + } + }, + "TransactionsReportQueryDataMessage": { + "required": [ + "data" + ], + "type": "object", + "properties": { + "data": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/components/schemas/TransactionsReportQueryEntityMessage" + } + } + }, + "description": "Contains queries for Transactions report", + "example": { + "data": [ + { + "type": "TransactionsReport", + "attributes": { + "advertiserIds": "123,456,789", + "eventType": "display", + "currency": "EUR", + "format": "csv", + "timezone": "Europe/Paris", + "startDate": "2023-04-03T00:00:00.0000000+00:00", + "endDate": "2023-04-03T00:00:00.0000000+00:00" + } + } + ] + } + }, + "TransparencyReportEntityMessage": { + "required": [ + "type", + "attributes" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "readOnly": true + }, + "attributes": { + "$ref": "#/components/schemas/TransparencyReportAttributes" + } + }, + "description": "This is the message defining the entity response for Transparency report" + }, + "ProblemDetails": { + "type": "object", + "properties": { + "traceId": { + "type": "string", + "description": "The request correlation ID this problem comes from.", + "nullable": true + }, + "traceIdentifier": { + "type": "string", + "description": "The request correlation ID this problem comes from. (deprecated, use traceId instead)", + "nullable": true + }, + "type": { + "enum": [ + "unknown", + "access-control", + "authentication", + "authorization", + "availability", + "deprecation", + "quota", + "validation" + ], + "type": "string", + "description": "The problem's category.", + "nullable": true + }, + "code": { + "type": "string", + "description": "A machine-readable error code, expressed as a string value.", + "nullable": true + }, + "instance": { + "type": "string", + "description": "A URI that identifies the specific occurrence of the problem.", + "nullable": true + }, + "title": { + "type": "string", + "description": "A short human-readable description of the problem type", + "nullable": true + }, + "detail": { + "type": "string", + "description": "A human-readable explanation specific to this occurrence of the problem", + "nullable": true + }, + "source": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A machine-readable structure to reference to the exact location(s) causing the error(s)", + "nullable": true + }, + "stackTrace": { + "type": "string", + "nullable": true + } + }, + "description": "Common problem object." + }, + "PlacementsReportQueryEntityMessage": { + "required": [ + "type", + "attributes" + ], + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "attributes": { + "$ref": "#/components/schemas/PlacementsReportQueryMessage" + } + }, + "description": "Contains a query for Transaction report and its type" + }, + "TransactionsReportQueryEntityMessage": { + "required": [ + "type", + "attributes" + ], + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "attributes": { + "$ref": "#/components/schemas/TransactionsReportQueryMessage" + } + }, + "description": "Contains a query for Transaction report and its type" + }, + "TransparencyReportAttributes": { + "required": [ + "advertiserId", + "tokenValidUntil", + "files" + ], + "type": "object", + "properties": { + "advertiserId": { + "type": "string" + }, + "tokenValidUntil": { + "type": "string", + "format": "date-time" + }, + "files": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/components/schemas/TransparencyReportFile" + } + } + }, + "description": "This is the message defining the attribute response for Transparency report" + }, + "PlacementsReportQueryMessage": { + "required": [ + "advertiserIds", + "dimensions", + "metrics", + "currency", + "format", + "startDate", + "endDate" + ], + "type": "object", + "properties": { + "advertiserIds": { + "type": "string", + "description": "The comma-separated list of advertiser ids." + }, + "campaignIds": { + "type": "string", + "description": "The comma-separated list of campaign ids.", + "nullable": true + }, + "adsetIds": { + "type": "string", + "description": "The comma-separated list of adSet ids.", + "nullable": true + }, + "environment": { + "type": "string", + "description": "Type of environment: Web, Android or iOS.", + "nullable": true + }, + "placement": { + "type": "string", + "description": "Filter the value of the placement", + "nullable": true + }, + "dimensions": { + "uniqueItems": false, + "type": "array", + "items": { + "enum": [ + "AdsetId", + "AdvertiserId", + "Placement", + "Environment", + "AdsetName", + "AdvertiserName", + "CampaignId", + "CampaignName" + ], + "type": "string" + }, + "description": "The dimensions for the report." + }, + "metrics": { + "uniqueItems": false, + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of metrics to report." + }, + "currency": { + "type": "string", + "description": "The currency used for the report. ISO 4217 code (three-letter capitals)." + }, + "disclosed": { + "type": "boolean", + "description": "Returns disclosed or undisclosed placements.", + "default": true, + "nullable": true + }, + "format": { + "type": "string", + "description": "The file format of the generated report: csv, xml, excel or json." + }, + "timezone": { + "type": "string", + "description": "The timezone used for the report. Timezone Database format (Tz).", + "default": "UTC", + "nullable": true + }, + "startDate": { + "type": "string", + "description": "Start date of the report. Date component of ISO 8061 format, any time or timezone component is ignored.", + "format": "date-time" + }, + "endDate": { + "type": "string", + "description": "End date of the report. Date component of ISO 8061 format, any time or timezone component is ignored.", + "format": "date-time" + } + }, + "description": "This is the message defining the query for Placements report" + }, + "TransactionsReportQueryMessage": { + "required": [ + "currency", + "format", + "startDate", + "endDate" + ], + "type": "object", + "properties": { + "advertiserIds": { + "type": "string", + "description": "The comma-separated list of advertiser ids. If empty, all the advertisers in the portfolio will be used", + "nullable": true + }, + "eventType": { + "type": "string", + "description": "Apply a filter on Event type .", + "nullable": true + }, + "currency": { + "type": "string", + "description": "The currency used for the report. ISO 4217 code (three-letter capitals)." + }, + "format": { + "type": "string", + "description": "The file format of the generated report: csv, xml, excel or json." + }, + "timezone": { + "type": "string", + "description": "The timezone used for the report. Timezone Database format (Tz).", + "default": "UTC", + "nullable": true + }, + "startDate": { + "type": "string", + "description": "Start date of the report. Date component of ISO 8061 format, any time or timezone component is ignored.", + "format": "date-time" + }, + "endDate": { + "type": "string", + "description": "End date of the report. Date component of ISO 8061 format, any time or timezone component is ignored.", + "format": "date-time" + } + }, + "description": "This is the message defining the query for Transaction report" + }, + "TransparencyReportFile": { + "required": [ + "fileName", + "url" + ], + "type": "object", + "properties": { + "fileName": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "description": "This is the message defining the file response for Transparency report" + }, + "GetPortfolioResponse": { + "type": "object", + "properties": { + "data": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/components/schemas/EntityOfPortfolioMessage" + }, + "description": "The response�s primary data", + "nullable": true + }, + "errors": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/components/schemas/CriteoApiError" + }, + "description": "Error list returned by the Criteo API\r\nFor successful requests it is empty", + "nullable": true + }, + "warnings": { + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/components/schemas/CriteoApiWarning" + }, + "description": "Warnings list returned by the Criteo API\r\nIn some situations the operations are successful but it may be useful to issue warnings to the API consumer.\r\nFor example the endpoint, entity or field is deprecated. Warnings are like compiler warnings, they indicate that problems may occur in the future.", + "nullable": true + } + }, + "description": "Portfolio fetch Response" + }, + "EntityOfPortfolioMessage": { + "type": "object", + "properties": { + "type": { + "enum": [ + "campaign", + "adset", + "ad", + "advertiser", + "agency", + "publisher", + "address", + "client", + "contact", + "industry" + ], + "type": "string", + "description": "A string containing the entity type", + "nullable": true, + "example": "campaign" + }, + "id": { + "type": "string", + "description": "A opaque string containing the unique Id of the entity", + "nullable": true + }, + "attributes": { + "$ref": "#/components/schemas/PortfolioMessage" + }, + "meta": { + "type": "object", + "description": "A meta object that contains application-specific metadata", + "nullable": true + } + }, + "description": "Generic Criteo API successful data model" + }, + "CriteoApiError": { + "type": "object", + "properties": { + "traceId": { + "type": "string", + "description": "The correlation ID provided by the gateway", + "nullable": true + }, + "type": { + "enum": [ + "access_control", + "authentication", + "authorization", + "availability", + "deprecation", + "quota", + "validation" + ], + "type": "string", + "description": "A machine-readable code specifying error category", + "nullable": true, + "example": "access_control" + }, + "code": { + "enum": [ + "internal-error", + "deprecated-field", + "endpoint-deprecated", + "required-field", + "invalid-date-format", + "invalid", + "invalid-ranged", + "invalid-timespan" + ], + "type": "string", + "description": "A machine-readable error code string in kabab-case. Unique across Criteo", + "nullable": true, + "example": "internal-error" + }, + "instance": { + "type": "string", + "description": "A URI reference that identifies the specific occurrence of the problem", + "nullable": true + }, + "title": { + "type": "string", + "description": "A short, human-readable remarks of the problem type.", + "nullable": true + }, + "detail": { + "type": "string", + "description": "A human-readable explanation specific to this occurrence of the problem.", + "nullable": true + }, + "source": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A machine-readable structure to reference to the exact location(s) causing the error(s).", + "nullable": true + } + }, + "description": "Criteo API response error" + }, + "CriteoApiWarning": { + "type": "object", + "properties": { + "traceId": { + "type": "string", + "description": "The correlation ID provided by the gateway", + "nullable": true + }, + "type": { + "enum": [ + "access_control", + "authentication", + "authorization", + "availability", + "deprecation", + "quota", + "validation" + ], + "type": "string", + "description": "A machine-readable code specifying error category", + "nullable": true, + "example": "access_control" + }, + "code": { + "enum": [ + "internal-error", + "deprecated-field", + "endpoint-deprecated", + "required-field", + "invalid-date-format", + "invalid", + "invalid-ranged", + "invalid-timespan" + ], + "type": "string", + "description": "A machine-readable error code string in kabab-case. Unique across Criteo", + "nullable": true, + "example": "internal-error" + }, + "instance": { + "type": "string", + "description": "A URI reference that identifies the specific occurrence of the problem", + "nullable": true + }, + "title": { + "type": "string", + "description": "A short, human-readable remarks of the problem type.", + "nullable": true + }, + "detail": { + "type": "string", + "description": "A human-readable explanation specific to this occurrence of the problem.", + "nullable": true + } + }, + "description": "Criteo API response warning" + }, + "PortfolioMessage": { + "type": "object", + "properties": { + "advertiserName": { + "type": "string", + "nullable": true + } + }, + "description": "Class with elementary info about advertiser" + } + }, + "securitySchemes": { + "oauth": { + "type": "oauth2", + "flows": { + "clientCredentials": { + "tokenUrl": "https://api.criteo.com/oauth2/token", + "scopes": { } + }, + "authorizationCode": { + "authorizationUrl": "https://api.criteo.com/oauth2", + "tokenUrl": "https://api.criteo.com/oauth2/token", + "scopes": { } + } + } + } + } + }, + "security": [ + { + "oauth": [ ] + } + ], + "x-samples-languages": [ + "java", + "python", + "php", + "csharp", + "javascript", + "curl", + "ruby" + ] +} \ No newline at end of file diff --git a/api-specifications/marketingsolutions_preview.json b/api-specifications/marketingsolutions_preview.json index 99fd8df..019af53 100644 --- a/api-specifications/marketingsolutions_preview.json +++ b/api-specifications/marketingsolutions_preview.json @@ -6514,6 +6514,316 @@ } } }, + "/preview/ads/{ad-id}/product-filter": { + "delete": { + "tags": [ + "Reco" + ], + "description": "Disable product filtering for a given ad", + "operationId": "DisableProductFiltering", + "parameters": [ + { + "name": "ad-id", + "in": "path", + "description": "ID of the ad", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successful operation", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ValueResourceOutcomeOfProductFilterConfig" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ValueResourceOutcomeOfProductFilterConfig" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ValueResourceOutcomeOfProductFilterConfig" + } + } + } + }, + "400": { + "description": "Operation failure", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/Outcome" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/Outcome" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/Outcome" + } + } + } + }, + "403": { + "description": "Operation failure", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/Outcome" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/Outcome" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/Outcome" + } + } + } + }, + "404": { + "description": "Operation failure", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/Outcome" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/Outcome" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/Outcome" + } + } + } + }, + "409": { + "description": "Operation failure", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/Outcome" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/Outcome" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/Outcome" + } + } + } + } + } + }, + "get": { + "tags": [ + "Reco" + ], + "description": "Fetch product filtering configuration for a given ad", + "operationId": "FetchProductFilteringConfig", + "parameters": [ + { + "name": "ad-id", + "in": "path", + "description": "ID of the ad", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successful operation. Returns the product filtering configuration if it exists, or empty data if it doesn't.", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ValueResourceOutcomeOfProductFilterConfig" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ValueResourceOutcomeOfProductFilterConfig" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ValueResourceOutcomeOfProductFilterConfig" + } + } + } + }, + "400": { + "description": "Operation failure", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/Outcome" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/Outcome" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/Outcome" + } + } + } + }, + "403": { + "description": "Operation failure", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/Outcome" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/Outcome" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/Outcome" + } + } + } + } + } + }, + "post": { + "tags": [ + "Reco" + ], + "description": "Enable product filtering for a given ad", + "operationId": "EnableProductFiltering", + "parameters": [ + { + "name": "ad-id", + "in": "path", + "description": "ID of the ad", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json-patch+json": { + "schema": { + "$ref": "#/components/schemas/ValueResourceInputOfCreateProductFilterRequest" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ValueResourceInputOfCreateProductFilterRequest" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ValueResourceInputOfCreateProductFilterRequest" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/ValueResourceInputOfCreateProductFilterRequest" + } + } + }, + "x-bodyName": "createProductFilterRequest" + }, + "responses": { + "200": { + "description": "successful operation", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ValueResourceOutcomeOfProductFilterConfig" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ValueResourceOutcomeOfProductFilterConfig" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ValueResourceOutcomeOfProductFilterConfig" + } + } + } + }, + "400": { + "description": "Operation failure", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/Outcome" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/Outcome" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/Outcome" + } + } + } + }, + "403": { + "description": "Operation failure", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/Outcome" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/Outcome" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/Outcome" + } + } + } + } + } + } + }, "/preview/product-sets": { "post": { "tags": [ @@ -6957,6 +7267,89 @@ } } }, + "/preview/product-sets/{product-set-id}/product-filters": { + "get": { + "tags": [ + "Reco" + ], + "description": "Fetch product filtering usages for a given product set", + "operationId": "FetchProductFilteringUsages", + "parameters": [ + { + "name": "product-set-id", + "in": "path", + "description": "ID of the product set", + "required": true, + "style": "simple", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "successful operation", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ValueResourceCollectionOutcomeOfProductFilterConfig" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ValueResourceCollectionOutcomeOfProductFilterConfig" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ValueResourceCollectionOutcomeOfProductFilterConfig" + } + } + } + }, + "400": { + "description": "Operation failure", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/Outcome" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/Outcome" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/Outcome" + } + } + } + }, + "403": { + "description": "Operation failure", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/Outcome" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/Outcome" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/Outcome" + } + } + } + } + } + } + }, "/preview/recommendation/search": { "post": { "tags": [ @@ -10381,7 +10774,8 @@ "madid", "identityLink", "gum", - "customerid" + "customerid", + "phoneNumber" ], "type": "string", "description": "What type of identifiers are used", @@ -10439,7 +10833,8 @@ "madid", "identityLink", "gum", - "customerid" + "customerid", + "phoneNumber" ], "type": "string", "description": "What type of identifiers are used", @@ -10521,7 +10916,6 @@ "$ref": "#/components/schemas/ApplicationSummaryModelResource" }, "warnings": { - "uniqueItems": false, "type": "array", "items": { "$ref": "#/components/schemas/CommonProblem" @@ -10530,7 +10924,6 @@ "readOnly": true }, "errors": { - "uniqueItems": false, "type": "array", "items": { "$ref": "#/components/schemas/CommonProblem" @@ -10539,7 +10932,7 @@ "readOnly": true } }, - "description": "Response of ApplicationSummaryModel" + "description": "A top-level object that encapsulates a Criteo API response for a single value" }, "ApplicationSummaryModelResource": { "type": "object", @@ -10552,7 +10945,7 @@ "$ref": "#/components/schemas/ApplicationSummaryModel" } }, - "description": "A class that represents a ValueType in a guild compliant way" + "description": "A top-level object that encapsulates a Criteo API response for a single value" }, "CommonProblem": { "type": "object", @@ -10584,7 +10977,7 @@ }, "code": { "type": "string", - "description": "A machine-readable error code, expressed as a string value.", + "description": "A machine-readable error code, expressed as a string value.", "nullable": true }, "instance": { @@ -10615,7 +11008,7 @@ "nullable": true } }, - "description": "Common problem object. Can be specialized as needed." + "description": "Common problem object." }, "ApplicationSummaryModel": { "type": "object", @@ -10643,7 +11036,7 @@ "nullable": true } }, - "description": "Model of ApplicationSummary" + "description": "Used for the /me endpoint. Contains information about the currently authenticated application that we accept to give to our clients" }, "AdSetAudienceLinkEntityV1Response": { "type": "object", @@ -15678,7 +16071,6 @@ "required": [ "bodyTextColor", "callsToAction", - "creativeBackgrounColor", "logoBase64String", "pricesColor", "productImageDisplay" @@ -20309,12 +20701,36 @@ }, "description": "Defines a custom attribute of a product." }, - "ResourceOutcomeOfProductSet": { + "ValueResourceOutcomeOfProductFilterConfig": { "type": "object", "properties": { "data": { - "$ref": "#/components/schemas/ResourceOfProductSet" + "$ref": "#/components/schemas/ValueResourceOfProductFilterConfig" }, + "warnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true, + "x-nullable": true + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true, + "x-nullable": true + } + }, + "description": "A top-level object that encapsulates a Criteo API response for a single value." + }, + "Outcome": { + "type": "object", + "properties": { "warnings": { "uniqueItems": false, "type": "array", @@ -20334,11 +20750,14 @@ "readOnly": true } }, - "description": "A class implementing the response of the Criteo API as described in API Guild Guidelines with a single entity as body" + "description": "A class implementing the body of a response without data of the Criteo API as described in API Guild Guidelines" }, - "Outcome": { + "ResourceOutcomeOfProductSet": { "type": "object", "properties": { + "data": { + "$ref": "#/components/schemas/ResourceOfProductSet" + }, "warnings": { "uniqueItems": false, "type": "array", @@ -20358,7 +20777,7 @@ "readOnly": true } }, - "description": "A class implementing the body of a response without data of the Criteo API as described in API Guild Guidelines" + "description": "A class implementing the response of the Criteo API as described in API Guild Guidelines with a single entity as body" }, "ResourceCollectionOutcomeOfProductSet": { "type": "object", @@ -20392,6 +20811,47 @@ }, "description": "A class implementing the response of the Criteo API as described in API Guild Guidelines with collection of entities as body" }, + "ValueResourceCollectionOutcomeOfProductFilterConfig": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ValueResourceOfProductFilterConfig" + }, + "nullable": true, + "x-nullable": true + }, + "warnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true, + "x-nullable": true + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true, + "x-nullable": true + } + }, + "description": "A top-level object that encapsulates a Criteo API response for several values." + }, + "ValueResourceInputOfCreateProductFilterRequest": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/ValueResourceOfCreateProductFilterRequest" + } + }, + "description": "A top-level object that encapsulates a Criteo API request for a single value." + }, "ValueResourceInputOfCreateProductSetRequest": { "type": "object", "properties": { @@ -20420,6 +20880,20 @@ } } }, + "ValueResourceOfProductFilterConfig": { + "type": "object", + "properties": { + "type": { + "type": "string", + "nullable": true, + "x-nullable": true + }, + "attributes": { + "$ref": "#/components/schemas/ProductFilterConfig" + } + }, + "description": "A top-level object that encapsulates a Criteo API response for a single value." + }, "ResourceOfProductSet": { "type": "object", "properties": { @@ -20437,6 +20911,20 @@ }, "description": "A class that represents an entity in a guild compliant way" }, + "ValueResourceOfCreateProductFilterRequest": { + "type": "object", + "properties": { + "type": { + "type": "string", + "nullable": true, + "x-nullable": true + }, + "attributes": { + "$ref": "#/components/schemas/CreateProductFilterRequest" + } + }, + "description": "A top-level object that encapsulates a Criteo API response for a single value." + }, "ValueResourceOfCreateProductSetRequest": { "type": "object", "properties": { @@ -20450,6 +20938,22 @@ }, "description": "A class that represents a ValueType in a guild compliant way" }, + "ProductFilterConfig": { + "required": [ + "adId", + "productSetId" + ], + "type": "object", + "properties": { + "adId": { + "type": "string" + }, + "productSetId": { + "type": "string" + } + }, + "description": "Entity to create a product filter configuration" + }, "ProductSet": { "type": "object", "properties": { @@ -20508,6 +21012,17 @@ }, "description": "Encapsulate a group of product" }, + "CreateProductFilterRequest": { + "type": "object", + "properties": { + "productSetId": { + "type": "string", + "nullable": true, + "x-nullable": true + } + }, + "description": "Encapsulate the parameters needed to enable product filtering" + }, "CreateProductSetRequest": { "type": "object", "properties": { diff --git a/api-specifications/retailmedia_2023-07.json b/api-specifications/retailmedia_2023-07.json index 8de71ab..f6fe041 100644 --- a/api-specifications/retailmedia_2023-07.json +++ b/api-specifications/retailmedia_2023-07.json @@ -41,7 +41,7 @@ "/2023-07/retail-media/accounts": { "get": { "tags": [ - "Campaign" + "Accounts" ], "description": "Gets page of account objects that the current user can access", "operationId": "AccountsApi_GetApiV1ExternalAccounts", @@ -66,7 +66,8 @@ "style": "form", "schema": { "type": "integer", - "format": "int32" + "format": "int32", + "default": 0 }, "x-nullable": false }, @@ -77,7 +78,8 @@ "style": "form", "schema": { "type": "integer", - "format": "int32" + "format": "int32", + "default": 25 }, "x-nullable": false } @@ -86,10 +88,20 @@ "200": { "description": "Success", "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/JsonApiPageResponseOfAccount" + } + }, "application/json": { "schema": { "$ref": "#/components/schemas/JsonApiPageResponseOfAccount" } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/JsonApiPageResponseOfAccount" + } } } } @@ -135,7 +147,8 @@ "style": "form", "schema": { "type": "integer", - "format": "int32" + "format": "int32", + "default": 0 }, "x-nullable": false }, @@ -146,7 +159,8 @@ "style": "form", "schema": { "type": "integer", - "format": "int32" + "format": "int32", + "default": 25 }, "x-nullable": false } @@ -155,10 +169,20 @@ "200": { "description": "Success", "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/JsonApiPageResponseOfBrand" + } + }, "application/json": { "schema": { "$ref": "#/components/schemas/JsonApiPageResponseOfBrand" } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/JsonApiPageResponseOfBrand" + } } } } @@ -204,7 +228,8 @@ "style": "form", "schema": { "type": "integer", - "format": "int32" + "format": "int32", + "default": 0 }, "x-nullable": false }, @@ -215,7 +240,8 @@ "style": "form", "schema": { "type": "integer", - "format": "int32" + "format": "int32", + "default": 25 }, "x-nullable": false } @@ -224,10 +250,20 @@ "200": { "description": "Success", "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/JsonApiPageResponseOfRetailer" + } + }, "application/json": { "schema": { "$ref": "#/components/schemas/JsonApiPageResponseOfRetailer" } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/JsonApiPageResponseOfRetailer" + } } } } @@ -1254,7 +1290,12 @@ "400": { "description": "The indicated catalog is not available for retrieval, wait for a success status.", "content": { - "application/x-json-stream": { }, + "application/x-json-stream": { + "schema": { + "type": "string", + "format": "binary" + } + }, "application/json": { } } } @@ -1894,7 +1935,7 @@ "/2023-07/retail-media/accounts/{account-id}/balances": { "get": { "tags": [ - "Campaign" + "Balance" ], "description": "Gets page of balance objects for the given account id", "operationId": "BalancesApi_GetApi202110ExternalAccountBalancesByAccountId", @@ -2429,7 +2470,7 @@ "/2023-07/retail-media/balances/{balance-id}/campaigns": { "get": { "tags": [ - "Campaign" + "Balance" ], "description": "Gets page of campaigns for the given balanceId", "operationId": "BalancesApi_GetApi202110ExternalBalanceCampaignsByBalanceId", @@ -4037,7 +4078,6 @@ "$ref": "#/components/schemas/ApplicationSummaryModelResource" }, "warnings": { - "uniqueItems": false, "type": "array", "items": { "$ref": "#/components/schemas/CommonProblem" @@ -4046,7 +4086,6 @@ "readOnly": true }, "errors": { - "uniqueItems": false, "type": "array", "items": { "$ref": "#/components/schemas/CommonProblem" @@ -4055,7 +4094,7 @@ "readOnly": true } }, - "description": "Response of ApplicationSummaryModel" + "description": "A top-level object that encapsulates a Criteo API response for a single value" }, "ApplicationSummaryModelResource": { "type": "object", @@ -4068,7 +4107,7 @@ "$ref": "#/components/schemas/ApplicationSummaryModel" } }, - "description": "A class that represents a ValueType in a guild compliant way" + "description": "A top-level object that encapsulates a Criteo API response for a single value" }, "CommonProblem": { "type": "object", @@ -4100,7 +4139,7 @@ }, "code": { "type": "string", - "description": "A machine-readable error code, expressed as a string value.", + "description": "A machine-readable error code, expressed as a string value.", "nullable": true }, "instance": { @@ -4131,7 +4170,7 @@ "nullable": true } }, - "description": "Common problem object. Can be specialized as needed." + "description": "Common problem object." }, "ApplicationSummaryModel": { "type": "object", @@ -4159,10 +4198,11 @@ "nullable": true } }, - "description": "Model of ApplicationSummary" + "description": "Used for the /me endpoint. Contains information about the currently authenticated application that we accept to give to our clients" }, "JsonApiPageResponseOfAccount": { "required": [ + "metadata", "data" ], "type": "object", @@ -4192,11 +4232,11 @@ "x-nullable": false } }, - "description": "A wrapper class to return a single page of with metadata", - "x-nullable": false + "description": "A wrapper class to return a single page of with metadata" }, "JsonApiPageResponseOfBrand": { "required": [ + "metadata", "data" ], "type": "object", @@ -4226,11 +4266,11 @@ "x-nullable": false } }, - "description": "A wrapper class to return a single page of with metadata", - "x-nullable": false + "description": "A wrapper class to return a single page of with metadata" }, "JsonApiPageResponseOfRetailer": { "required": [ + "metadata", "data" ], "type": "object", @@ -4260,8 +4300,7 @@ "x-nullable": false } }, - "description": "A wrapper class to return a single page of with metadata", - "x-nullable": false + "description": "A wrapper class to return a single page of with metadata" }, "PageMetadata": { "required": [ @@ -4301,8 +4340,7 @@ "x-nullable": false } }, - "description": "Metadata related to the current request", - "x-nullable": false + "description": "Metadata related to the current request" }, "CommonError": { "type": "object", @@ -4362,8 +4400,7 @@ "x-nullable": false } }, - "description": "A JSON:API Common error structure", - "x-nullable": false + "description": "A JSON:API Common error structure" }, "CommonWarning": { "type": "object", @@ -4423,8 +4460,7 @@ "x-nullable": false } }, - "description": "A JSON:API Base common warning", - "x-nullable": false + "description": "A JSON:API Base common warning" }, "JsonApiBodyWithIdOfInt64AndAccountAndAccount": { "required": [ @@ -4446,8 +4482,7 @@ "$ref": "#/components/schemas/ExternalAccount" } }, - "description": "A JSON:API wrapper class to format a with external Id, Type, and\r\nAttributes properties", - "x-nullable": false + "description": "A JSON:API wrapper class to format a with external Id, Type, and\r\nAttributes properties" }, "JsonApiBodyWithIdOfInt64AndBrandAndBrand": { "required": [ @@ -4469,8 +4504,7 @@ "$ref": "#/components/schemas/ExternalBrand" } }, - "description": "A JSON:API wrapper class to format a with external Id, Type, and\r\nAttributes properties", - "x-nullable": false + "description": "A JSON:API wrapper class to format a with external Id, Type, and\r\nAttributes properties" }, "JsonApiBodyWithIdOfInt64AndRetailerAndRetailer": { "required": [ @@ -4492,8 +4526,7 @@ "$ref": "#/components/schemas/ExternalRetailer" } }, - "description": "A JSON:API wrapper class to format a with external Id, Type, and\r\nAttributes properties", - "x-nullable": false + "description": "A JSON:API wrapper class to format a with external Id, Type, and\r\nAttributes properties" }, "ExternalAccount": { "required": [ @@ -4534,8 +4567,7 @@ "countries": { "type": "array", "items": { - "type": "string", - "x-nullable": false + "type": "string" }, "x-nullable": false }, @@ -4555,11 +4587,11 @@ }, "companyName": { "type": "string", - "nullable": true + "nullable": true, + "x-nullable": true } }, - "description": "A Retail Media Account used to launch campaigns and line items", - "x-nullable": false + "description": "A Retail Media Account used to launch campaigns and line items" }, "ExternalBrand": { "required": [ @@ -4574,8 +4606,7 @@ "x-nullable": false } }, - "description": "A Retail Media Brand used to represent a collection of products sold under the same umbrella name", - "x-nullable": false + "description": "A Retail Media Brand used to represent a collection of products sold under the same umbrella name" }, "ExternalRetailer": { "required": [ @@ -4596,14 +4627,12 @@ "auction", "preferred" ], - "type": "string", - "x-nullable": false + "type": "string" }, "x-nullable": false } }, - "description": "A Retail Media Retailer used to represent a selection of products from multiple brands", - "x-nullable": false + "description": "A Retail Media Retailer used to represent a selection of products from multiple brands" }, "AssetResponse": { "type": "object", @@ -7195,6 +7224,8 @@ "salesChannel", "environment", "pageTypeName", + "pageCategory", + "taxonomyBreadcrumb", "keyword", "searchTerm" ], @@ -7373,6 +7404,8 @@ "salesChannel", "environment", "pageTypeName", + "pageCategory", + "taxonomyBreadcrumb", "keyword", "searchTerm" ], @@ -8499,7 +8532,8 @@ "startDate", "status", "createdAt", - "updatedAt" + "updatedAt", + "privateMarketBillingType" ], "type": "object", "properties": { @@ -8516,36 +8550,24 @@ "x-nullable": false }, "deposited": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "spent": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "remaining": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "startDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date", @@ -8577,6 +8599,17 @@ "type": "string", "format": "date-time", "x-nullable": false + }, + "privateMarketBillingType": { + "enum": [ + "NotApplicable", + "BillByRetailer", + "BillByCriteo", + "Unknown" + ], + "type": "string", + "description": "Billing type for Private Market.", + "x-nullable": false } }, "description": "A Retail Media Balance used to determine the funds available for any or all campaigns in an account", @@ -8611,18 +8644,12 @@ "x-nullable": false }, "budgetSpent": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "budgetRemaining": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -8698,27 +8725,18 @@ "x-nullable": false }, "budget": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "monthlyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "dailyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -8800,9 +8818,6 @@ "x-nullable": false }, "startDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" @@ -8834,9 +8849,6 @@ "x-nullable": false }, "budget": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -8853,9 +8865,6 @@ "x-nullable": false }, "budgetRemaining": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -8894,9 +8903,6 @@ "x-nullable": false }, "startDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" @@ -8908,36 +8914,24 @@ "nullable": true }, "maxBid": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "budget": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "monthlyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "dailyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -8975,9 +8969,6 @@ "x-nullable": false }, "targetBid": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -8999,9 +8990,6 @@ "x-nullable": false }, "budgetRemaining": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -9073,17 +9061,11 @@ "x-nullable": false }, "startDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" }, "endDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" @@ -9214,9 +9196,6 @@ "type": "object", "properties": { "bidOverride": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -9382,27 +9361,18 @@ "x-nullable": false }, "budget": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "monthlyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "dailyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -9472,9 +9442,6 @@ "x-nullable": false }, "startDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" @@ -9501,45 +9468,30 @@ "x-nullable": false }, "budget": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "targetBid": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "maxBid": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "monthlyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "dailyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -9579,9 +9531,6 @@ "x-nullable": false }, "startDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" @@ -9613,45 +9562,30 @@ "x-nullable": false }, "budget": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "targetBid": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "maxBid": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "monthlyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "dailyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -9696,17 +9630,11 @@ "x-nullable": false }, "startDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" }, "endDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" @@ -9779,27 +9707,18 @@ "x-nullable": false }, "budget": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "monthlyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "dailyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -9890,17 +9809,11 @@ "x-nullable": false }, "startDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" }, "endDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" diff --git a/api-specifications/retailmedia_2023-10.json b/api-specifications/retailmedia_2023-10.json index 672ce09..9967924 100644 --- a/api-specifications/retailmedia_2023-10.json +++ b/api-specifications/retailmedia_2023-10.json @@ -41,7 +41,7 @@ "/2023-10/retail-media/accounts": { "get": { "tags": [ - "Campaign" + "Accounts" ], "description": "Gets page of account objects that the current user can access", "operationId": "AccountsApi_GetApiV1ExternalAccounts", @@ -66,7 +66,8 @@ "style": "form", "schema": { "type": "integer", - "format": "int32" + "format": "int32", + "default": 0 }, "x-nullable": false }, @@ -77,7 +78,8 @@ "style": "form", "schema": { "type": "integer", - "format": "int32" + "format": "int32", + "default": 25 }, "x-nullable": false } @@ -86,10 +88,20 @@ "200": { "description": "Success", "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/JsonApiPageResponseOfAccount" + } + }, "application/json": { "schema": { "$ref": "#/components/schemas/JsonApiPageResponseOfAccount" } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/JsonApiPageResponseOfAccount" + } } } } @@ -135,7 +147,8 @@ "style": "form", "schema": { "type": "integer", - "format": "int32" + "format": "int32", + "default": 0 }, "x-nullable": false }, @@ -146,7 +159,8 @@ "style": "form", "schema": { "type": "integer", - "format": "int32" + "format": "int32", + "default": 25 }, "x-nullable": false } @@ -155,10 +169,20 @@ "200": { "description": "Success", "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/JsonApiPageResponseOfBrand" + } + }, "application/json": { "schema": { "$ref": "#/components/schemas/JsonApiPageResponseOfBrand" } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/JsonApiPageResponseOfBrand" + } } } } @@ -204,7 +228,8 @@ "style": "form", "schema": { "type": "integer", - "format": "int32" + "format": "int32", + "default": 0 }, "x-nullable": false }, @@ -215,7 +240,8 @@ "style": "form", "schema": { "type": "integer", - "format": "int32" + "format": "int32", + "default": 25 }, "x-nullable": false } @@ -224,10 +250,20 @@ "200": { "description": "Success", "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/JsonApiPageResponseOfRetailer" + } + }, "application/json": { "schema": { "$ref": "#/components/schemas/JsonApiPageResponseOfRetailer" } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/JsonApiPageResponseOfRetailer" + } } } } @@ -1254,7 +1290,12 @@ "400": { "description": "The indicated catalog is not available for retrieval, wait for a success status.", "content": { - "application/x-json-stream": { }, + "application/x-json-stream": { + "schema": { + "type": "string", + "format": "binary" + } + }, "application/json": { } } } @@ -1991,7 +2032,7 @@ "/2023-10/retail-media/accounts/{account-id}/balances": { "get": { "tags": [ - "Campaign" + "Balance" ], "description": "Get page of balances for the given accountId.", "operationId": "Balances_GetApiV1ExternalAccountBalancesByAccountId", @@ -2060,7 +2101,7 @@ }, "post": { "tags": [ - "Campaign" + "Balance" ], "description": "Create balance for the given account id", "operationId": "Balances_PostApiV1ExternalAccountBalancesByAccountId", @@ -2105,7 +2146,7 @@ "/2023-10/retail-media/accounts/{account-id}/balances/{balanceId}": { "get": { "tags": [ - "Campaign" + "Balance" ], "description": "Get a balance for the given account id and balance id", "operationId": "Balances_GetApiV1ExternalAccountByAccountIdAndBalanceId", @@ -2148,7 +2189,7 @@ }, "patch": { "tags": [ - "Campaign" + "Balance" ], "description": "Modify a balance for the given account id", "operationId": "Balances_PatchApiV1ExternalAccountByAccountIdAndBalanceId", @@ -2204,7 +2245,7 @@ "/2023-10/retail-media/accounts/{account-id}/balances/{balanceId}/add-funds": { "post": { "tags": [ - "Campaign" + "Balance" ], "description": "Add funds to a balance for the given account id", "operationId": "Balances_PostApiV1ExternalAccountAddFundsByAccountIdAndBalanceId", @@ -2260,7 +2301,7 @@ "/2023-10/retail-media/accounts/{account-id}/balances/{balanceId}/change-dates": { "post": { "tags": [ - "Campaign" + "Balance" ], "description": "Change dates of a balance for the given account id", "operationId": "Balances_PostApiV1ExternalAccountChangeDatesByAccountIdAndBalanceId", @@ -2782,7 +2823,7 @@ "/2023-10/retail-media/balances/{balance-id}/campaigns": { "get": { "tags": [ - "Campaign" + "Balance" ], "description": "Gets page of campaigns for the given balanceId", "operationId": "BalancesApi_GetApi202110ExternalBalanceCampaignsByBalanceId", @@ -4390,7 +4431,6 @@ "$ref": "#/components/schemas/ApplicationSummaryModelResource" }, "warnings": { - "uniqueItems": false, "type": "array", "items": { "$ref": "#/components/schemas/CommonProblem" @@ -4399,7 +4439,6 @@ "readOnly": true }, "errors": { - "uniqueItems": false, "type": "array", "items": { "$ref": "#/components/schemas/CommonProblem" @@ -4408,7 +4447,7 @@ "readOnly": true } }, - "description": "Response of ApplicationSummaryModel" + "description": "A top-level object that encapsulates a Criteo API response for a single value" }, "ApplicationSummaryModelResource": { "type": "object", @@ -4421,7 +4460,7 @@ "$ref": "#/components/schemas/ApplicationSummaryModel" } }, - "description": "A class that represents a ValueType in a guild compliant way" + "description": "A top-level object that encapsulates a Criteo API response for a single value" }, "CommonProblem": { "type": "object", @@ -4453,7 +4492,7 @@ }, "code": { "type": "string", - "description": "A machine-readable error code, expressed as a string value.", + "description": "A machine-readable error code, expressed as a string value.", "nullable": true }, "instance": { @@ -4484,7 +4523,7 @@ "nullable": true } }, - "description": "Common problem object. Can be specialized as needed." + "description": "Common problem object." }, "ApplicationSummaryModel": { "type": "object", @@ -4512,10 +4551,11 @@ "nullable": true } }, - "description": "Model of ApplicationSummary" + "description": "Used for the /me endpoint. Contains information about the currently authenticated application that we accept to give to our clients" }, "JsonApiPageResponseOfAccount": { "required": [ + "metadata", "data" ], "type": "object", @@ -4545,11 +4585,11 @@ "x-nullable": false } }, - "description": "A wrapper class to return a single page of with metadata", - "x-nullable": false + "description": "A wrapper class to return a single page of with metadata" }, "JsonApiPageResponseOfBrand": { "required": [ + "metadata", "data" ], "type": "object", @@ -4579,11 +4619,11 @@ "x-nullable": false } }, - "description": "A wrapper class to return a single page of with metadata", - "x-nullable": false + "description": "A wrapper class to return a single page of with metadata" }, "JsonApiPageResponseOfRetailer": { "required": [ + "metadata", "data" ], "type": "object", @@ -4613,8 +4653,7 @@ "x-nullable": false } }, - "description": "A wrapper class to return a single page of with metadata", - "x-nullable": false + "description": "A wrapper class to return a single page of with metadata" }, "PageMetadata": { "required": [ @@ -4654,8 +4693,7 @@ "x-nullable": false } }, - "description": "Metadata related to the current request", - "x-nullable": false + "description": "Metadata related to the current request" }, "CommonError": { "type": "object", @@ -4715,8 +4753,7 @@ "x-nullable": false } }, - "description": "A JSON:API Common error structure", - "x-nullable": false + "description": "A JSON:API Common error structure" }, "CommonWarning": { "type": "object", @@ -4776,8 +4813,7 @@ "x-nullable": false } }, - "description": "A JSON:API Base common warning", - "x-nullable": false + "description": "A JSON:API Base common warning" }, "JsonApiBodyWithIdOfInt64AndAccountAndAccount": { "required": [ @@ -4799,8 +4835,7 @@ "$ref": "#/components/schemas/ExternalAccount" } }, - "description": "A JSON:API wrapper class to format a with external Id, Type, and\r\nAttributes properties", - "x-nullable": false + "description": "A JSON:API wrapper class to format a with external Id, Type, and\r\nAttributes properties" }, "JsonApiBodyWithIdOfInt64AndBrandAndBrand": { "required": [ @@ -4822,8 +4857,7 @@ "$ref": "#/components/schemas/ExternalBrand" } }, - "description": "A JSON:API wrapper class to format a with external Id, Type, and\r\nAttributes properties", - "x-nullable": false + "description": "A JSON:API wrapper class to format a with external Id, Type, and\r\nAttributes properties" }, "JsonApiBodyWithIdOfInt64AndRetailerAndRetailer": { "required": [ @@ -4845,8 +4879,7 @@ "$ref": "#/components/schemas/ExternalRetailer" } }, - "description": "A JSON:API wrapper class to format a with external Id, Type, and\r\nAttributes properties", - "x-nullable": false + "description": "A JSON:API wrapper class to format a with external Id, Type, and\r\nAttributes properties" }, "ExternalAccount": { "required": [ @@ -4887,8 +4920,7 @@ "countries": { "type": "array", "items": { - "type": "string", - "x-nullable": false + "type": "string" }, "x-nullable": false }, @@ -4908,11 +4940,11 @@ }, "companyName": { "type": "string", - "nullable": true + "nullable": true, + "x-nullable": true } }, - "description": "A Retail Media Account used to launch campaigns and line items", - "x-nullable": false + "description": "A Retail Media Account used to launch campaigns and line items" }, "ExternalBrand": { "required": [ @@ -4927,8 +4959,7 @@ "x-nullable": false } }, - "description": "A Retail Media Brand used to represent a collection of products sold under the same umbrella name", - "x-nullable": false + "description": "A Retail Media Brand used to represent a collection of products sold under the same umbrella name" }, "ExternalRetailer": { "required": [ @@ -4949,14 +4980,12 @@ "auction", "preferred" ], - "type": "string", - "x-nullable": false + "type": "string" }, "x-nullable": false } }, - "description": "A Retail Media Retailer used to represent a selection of products from multiple brands", - "x-nullable": false + "description": "A Retail Media Retailer used to represent a selection of products from multiple brands" }, "AssetResponse": { "type": "object", @@ -7570,6 +7599,8 @@ "salesChannel", "environment", "pageTypeName", + "pageCategory", + "taxonomyBreadcrumb", "keyword", "searchTerm" ], @@ -7748,6 +7779,8 @@ "salesChannel", "environment", "pageTypeName", + "pageCategory", + "taxonomyBreadcrumb", "keyword", "searchTerm" ], @@ -7820,12 +7853,12 @@ "items": { "type": "string" }, - "description": "Campaign ids to report on", + "description": "Supply account ids to report on", "nullable": true }, "id": { "type": "string", - "description": "Campaign id to report on", + "description": "Supply account id to report on", "nullable": true }, "reportType": { @@ -7869,6 +7902,19 @@ "description": "Filter on buy type: Auction, Preferred Deals or Sponsorship", "nullable": true }, + "advertiserTypes": { + "type": "array", + "items": { + "enum": [ + "retailer", + "brand", + "seller" + ], + "type": "string" + }, + "description": "Filter on the type of advertiser: retailer, brand, seller", + "nullable": true + }, "skuRelations": { "type": "array", "items": { @@ -7952,6 +7998,7 @@ "accountId", "accountName", "accountTypeName", + "advertiserType", "campaignId", "campaignName", "campaignTypeName", @@ -7975,6 +8022,7 @@ "advProductName", "advProductGtin", "advProductMpn", + "buyType", "soldBy", "saleChannel", "attributionSettings", @@ -8022,6 +8070,7 @@ "transactions", "assistedSales", "assistedUnits", + "revenue", "openAuctionRevenue", "preferredDealsRevenue", "ctr", @@ -9282,7 +9331,8 @@ "updatedAt", "balanceType", "salesForceId", - "spendType" + "spendType", + "privateMarketBillingType" ], "type": "object", "properties": { @@ -9302,9 +9352,6 @@ "x-nullable": false }, "deposited": { - "required": [ - "false" - ], "type": "number", "description": "Amount of billable funds allotted to the balance.", "format": "decimal", @@ -9312,27 +9359,18 @@ "x-nullable": true }, "spent": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "remaining": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "startDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" @@ -9386,6 +9424,17 @@ "type": "string", "description": "Spend Type of the balance.", "x-nullable": false + }, + "privateMarketBillingType": { + "enum": [ + "NotApplicable", + "BillByRetailer", + "BillByCriteo", + "Unknown" + ], + "type": "string", + "description": "Billing type for Private Market.", + "x-nullable": false } }, "description": "A Retail Media Balance used to determine the funds available for any or all campaigns in an account", @@ -9420,18 +9469,12 @@ "x-nullable": false }, "budgetSpent": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "budgetRemaining": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -9507,27 +9550,18 @@ "x-nullable": false }, "budget": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "monthlyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "dailyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -9609,9 +9643,6 @@ "x-nullable": false }, "startDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" @@ -9643,9 +9674,6 @@ "x-nullable": false }, "budget": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -9662,9 +9690,6 @@ "x-nullable": false }, "budgetRemaining": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -9703,9 +9728,6 @@ "x-nullable": false }, "startDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" @@ -9717,36 +9739,24 @@ "nullable": true }, "maxBid": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "budget": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "monthlyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "dailyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -9784,9 +9794,6 @@ "x-nullable": false }, "targetBid": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -9808,9 +9815,6 @@ "x-nullable": false }, "budgetRemaining": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -9882,17 +9886,11 @@ "x-nullable": false }, "startDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" }, "endDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" @@ -10023,9 +10021,6 @@ "type": "object", "properties": { "bidOverride": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -10156,9 +10151,6 @@ "x-nullable": false }, "deposited": { - "required": [ - "false" - ], "type": "number", "description": "Amount of billable funds allotted to the balance.", "format": "decimal", @@ -10166,9 +10158,6 @@ "x-nullable": true }, "startDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" @@ -10353,27 +10342,18 @@ "x-nullable": false }, "budget": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "monthlyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "dailyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -10443,9 +10423,6 @@ "x-nullable": false }, "startDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" @@ -10472,45 +10449,30 @@ "x-nullable": false }, "budget": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "targetBid": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "maxBid": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "monthlyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "dailyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -10550,9 +10512,6 @@ "x-nullable": false }, "startDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" @@ -10584,45 +10543,30 @@ "x-nullable": false }, "budget": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "targetBid": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "maxBid": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "monthlyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "dailyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -10667,17 +10611,11 @@ "x-nullable": false }, "startDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" }, "endDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" @@ -10750,27 +10688,18 @@ "x-nullable": false }, "budget": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "monthlyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "dailyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -10861,17 +10790,11 @@ "x-nullable": false }, "startDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" }, "endDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" diff --git a/api-specifications/retailmedia_2024-01.json b/api-specifications/retailmedia_2024-01.json index 7523e88..3fa40ef 100644 --- a/api-specifications/retailmedia_2024-01.json +++ b/api-specifications/retailmedia_2024-01.json @@ -41,7 +41,7 @@ "/2024-01/retail-media/accounts": { "get": { "tags": [ - "Campaign" + "Accounts" ], "description": "Gets page of account objects that the current user can access", "operationId": "AccountsApi_GetApiV1ExternalAccounts", @@ -66,7 +66,8 @@ "style": "form", "schema": { "type": "integer", - "format": "int32" + "format": "int32", + "default": 0 }, "x-nullable": false }, @@ -77,7 +78,8 @@ "style": "form", "schema": { "type": "integer", - "format": "int32" + "format": "int32", + "default": 25 }, "x-nullable": false } @@ -86,10 +88,20 @@ "200": { "description": "Success", "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/JsonApiPageResponseOfAccount" + } + }, "application/json": { "schema": { "$ref": "#/components/schemas/JsonApiPageResponseOfAccount" } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/JsonApiPageResponseOfAccount" + } } } } @@ -135,7 +147,8 @@ "style": "form", "schema": { "type": "integer", - "format": "int32" + "format": "int32", + "default": 0 }, "x-nullable": false }, @@ -146,7 +159,8 @@ "style": "form", "schema": { "type": "integer", - "format": "int32" + "format": "int32", + "default": 25 }, "x-nullable": false } @@ -155,10 +169,20 @@ "200": { "description": "Success", "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/JsonApiPageResponseOfBrand" + } + }, "application/json": { "schema": { "$ref": "#/components/schemas/JsonApiPageResponseOfBrand" } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/JsonApiPageResponseOfBrand" + } } } } @@ -204,7 +228,8 @@ "style": "form", "schema": { "type": "integer", - "format": "int32" + "format": "int32", + "default": 0 }, "x-nullable": false }, @@ -215,7 +240,8 @@ "style": "form", "schema": { "type": "integer", - "format": "int32" + "format": "int32", + "default": 25 }, "x-nullable": false } @@ -224,10 +250,20 @@ "200": { "description": "Success", "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/JsonApiPageResponseOfRetailer" + } + }, "application/json": { "schema": { "$ref": "#/components/schemas/JsonApiPageResponseOfRetailer" } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/JsonApiPageResponseOfRetailer" + } } } } @@ -1254,7 +1290,12 @@ "400": { "description": "The indicated catalog is not available for retrieval, wait for a success status.", "content": { - "application/x-json-stream": { }, + "application/x-json-stream": { + "schema": { + "type": "string", + "format": "binary" + } + }, "application/json": { } } } @@ -2063,7 +2104,8 @@ "$ref": "#/components/schemas/ValueResourceInputOfCampaignBudgetOverrides" } } - } + }, + "x-bodyName": "campaignBudgetOverridesInput" }, "responses": { "201": { @@ -2152,7 +2194,8 @@ "$ref": "#/components/schemas/ValueResourceInputOfLineItemBudgetOverrides" } } - } + }, + "x-bodyName": "lineItemBudgetOverridesInput" }, "responses": { "201": { @@ -2171,7 +2214,7 @@ "/2024-01/retail-media/accounts/{account-id}/balances": { "get": { "tags": [ - "Campaign" + "Balance" ], "description": "Get page of balances for the given accountId.", "operationId": "Balances_GetApiV1ExternalAccountBalancesByAccountId", @@ -2240,7 +2283,7 @@ }, "post": { "tags": [ - "Campaign" + "Balance" ], "description": "Create balance for the given account id", "operationId": "Balances_PostApiV1ExternalAccountBalancesByAccountId", @@ -2285,7 +2328,7 @@ "/2024-01/retail-media/accounts/{account-id}/balances/{balanceId}": { "get": { "tags": [ - "Campaign" + "Balance" ], "description": "Get a balance for the given account id and balance id", "operationId": "Balances_GetApiV1ExternalAccountByAccountIdAndBalanceId", @@ -2328,7 +2371,7 @@ }, "patch": { "tags": [ - "Campaign" + "Balance" ], "description": "Modify a balance for the given account id", "operationId": "Balances_PatchApiV1ExternalAccountByAccountIdAndBalanceId", @@ -2384,7 +2427,7 @@ "/2024-01/retail-media/accounts/{account-id}/balances/{balanceId}/add-funds": { "post": { "tags": [ - "Campaign" + "Balance" ], "description": "Add funds to a balance for the given account id", "operationId": "Balances_PostApiV1ExternalAccountAddFundsByAccountIdAndBalanceId", @@ -2440,7 +2483,7 @@ "/2024-01/retail-media/accounts/{account-id}/balances/{balanceId}/change-dates": { "post": { "tags": [ - "Campaign" + "Balance" ], "description": "Change dates of a balance for the given account id", "operationId": "Balances_PostApiV1ExternalAccountChangeDatesByAccountIdAndBalanceId", @@ -2962,7 +3005,7 @@ "/2024-01/retail-media/balances/{balance-id}/campaigns": { "get": { "tags": [ - "Campaign" + "Balance" ], "description": "Gets page of campaigns for the given balanceId", "operationId": "BalancesApi_GetApi202110ExternalBalanceCampaignsByBalanceId", @@ -4570,7 +4613,6 @@ "$ref": "#/components/schemas/ApplicationSummaryModelResource" }, "warnings": { - "uniqueItems": false, "type": "array", "items": { "$ref": "#/components/schemas/CommonProblem" @@ -4579,7 +4621,6 @@ "readOnly": true }, "errors": { - "uniqueItems": false, "type": "array", "items": { "$ref": "#/components/schemas/CommonProblem" @@ -4588,7 +4629,7 @@ "readOnly": true } }, - "description": "Response of ApplicationSummaryModel" + "description": "A top-level object that encapsulates a Criteo API response for a single value" }, "ApplicationSummaryModelResource": { "type": "object", @@ -4601,7 +4642,7 @@ "$ref": "#/components/schemas/ApplicationSummaryModel" } }, - "description": "A class that represents a ValueType in a guild compliant way" + "description": "A top-level object that encapsulates a Criteo API response for a single value" }, "CommonProblem": { "type": "object", @@ -4633,7 +4674,7 @@ }, "code": { "type": "string", - "description": "A machine-readable error code, expressed as a string value.", + "description": "A machine-readable error code, expressed as a string value.", "nullable": true }, "instance": { @@ -4664,7 +4705,7 @@ "nullable": true } }, - "description": "Common problem object. Can be specialized as needed." + "description": "Common problem object." }, "ApplicationSummaryModel": { "type": "object", @@ -4692,10 +4733,11 @@ "nullable": true } }, - "description": "Model of ApplicationSummary" + "description": "Used for the /me endpoint. Contains information about the currently authenticated application that we accept to give to our clients" }, "JsonApiPageResponseOfAccount": { "required": [ + "metadata", "data" ], "type": "object", @@ -4725,11 +4767,11 @@ "x-nullable": false } }, - "description": "A wrapper class to return a single page of with metadata", - "x-nullable": false + "description": "A wrapper class to return a single page of with metadata" }, "JsonApiPageResponseOfBrand": { "required": [ + "metadata", "data" ], "type": "object", @@ -4759,11 +4801,11 @@ "x-nullable": false } }, - "description": "A wrapper class to return a single page of with metadata", - "x-nullable": false + "description": "A wrapper class to return a single page of with metadata" }, "JsonApiPageResponseOfRetailer": { "required": [ + "metadata", "data" ], "type": "object", @@ -4793,8 +4835,7 @@ "x-nullable": false } }, - "description": "A wrapper class to return a single page of with metadata", - "x-nullable": false + "description": "A wrapper class to return a single page of with metadata" }, "PageMetadata": { "required": [ @@ -4834,8 +4875,7 @@ "x-nullable": false } }, - "description": "Metadata related to the current request", - "x-nullable": false + "description": "Metadata related to the current request" }, "CommonError": { "type": "object", @@ -4895,8 +4935,7 @@ "x-nullable": false } }, - "description": "A JSON:API Common error structure", - "x-nullable": false + "description": "A JSON:API Common error structure" }, "CommonWarning": { "type": "object", @@ -4956,8 +4995,7 @@ "x-nullable": false } }, - "description": "A JSON:API Base common warning", - "x-nullable": false + "description": "A JSON:API Base common warning" }, "JsonApiBodyWithIdOfInt64AndAccountAndAccount": { "required": [ @@ -4979,8 +5017,7 @@ "$ref": "#/components/schemas/ExternalAccount" } }, - "description": "A JSON:API wrapper class to format a with external Id, Type, and\r\nAttributes properties", - "x-nullable": false + "description": "A JSON:API wrapper class to format a with external Id, Type, and\r\nAttributes properties" }, "JsonApiBodyWithIdOfInt64AndBrandAndBrand": { "required": [ @@ -5002,8 +5039,7 @@ "$ref": "#/components/schemas/ExternalBrand" } }, - "description": "A JSON:API wrapper class to format a with external Id, Type, and\r\nAttributes properties", - "x-nullable": false + "description": "A JSON:API wrapper class to format a with external Id, Type, and\r\nAttributes properties" }, "JsonApiBodyWithIdOfInt64AndRetailerAndRetailer": { "required": [ @@ -5025,8 +5061,7 @@ "$ref": "#/components/schemas/ExternalRetailer" } }, - "description": "A JSON:API wrapper class to format a with external Id, Type, and\r\nAttributes properties", - "x-nullable": false + "description": "A JSON:API wrapper class to format a with external Id, Type, and\r\nAttributes properties" }, "ExternalAccount": { "required": [ @@ -5067,8 +5102,7 @@ "countries": { "type": "array", "items": { - "type": "string", - "x-nullable": false + "type": "string" }, "x-nullable": false }, @@ -5088,11 +5122,11 @@ }, "companyName": { "type": "string", - "nullable": true + "nullable": true, + "x-nullable": true } }, - "description": "A Retail Media Account used to launch campaigns and line items", - "x-nullable": false + "description": "A Retail Media Account used to launch campaigns and line items" }, "ExternalBrand": { "required": [ @@ -5107,8 +5141,7 @@ "x-nullable": false } }, - "description": "A Retail Media Brand used to represent a collection of products sold under the same umbrella name", - "x-nullable": false + "description": "A Retail Media Brand used to represent a collection of products sold under the same umbrella name" }, "ExternalRetailer": { "required": [ @@ -5129,14 +5162,12 @@ "auction", "preferred" ], - "type": "string", - "x-nullable": false + "type": "string" }, "x-nullable": false } }, - "description": "A Retail Media Retailer used to represent a selection of products from multiple brands", - "x-nullable": false + "description": "A Retail Media Retailer used to represent a selection of products from multiple brands" }, "AssetResponse": { "type": "object", @@ -7750,6 +7781,8 @@ "salesChannel", "environment", "pageTypeName", + "pageCategory", + "taxonomyBreadcrumb", "keyword", "searchTerm" ], @@ -7928,6 +7961,8 @@ "salesChannel", "environment", "pageTypeName", + "pageCategory", + "taxonomyBreadcrumb", "keyword", "searchTerm" ], @@ -8000,12 +8035,12 @@ "items": { "type": "string" }, - "description": "Campaign ids to report on", + "description": "Supply account ids to report on", "nullable": true }, "id": { "type": "string", - "description": "Campaign id to report on", + "description": "Supply account id to report on", "nullable": true }, "reportType": { @@ -8049,6 +8084,19 @@ "description": "Filter on buy type: Auction, Preferred Deals or Sponsorship", "nullable": true }, + "advertiserTypes": { + "type": "array", + "items": { + "enum": [ + "retailer", + "brand", + "seller" + ], + "type": "string" + }, + "description": "Filter on the type of advertiser: retailer, brand, seller", + "nullable": true + }, "skuRelations": { "type": "array", "items": { @@ -8132,6 +8180,7 @@ "accountId", "accountName", "accountTypeName", + "advertiserType", "campaignId", "campaignName", "campaignTypeName", @@ -8155,6 +8204,7 @@ "advProductName", "advProductGtin", "advProductMpn", + "buyType", "soldBy", "saleChannel", "attributionSettings", @@ -8202,6 +8252,7 @@ "transactions", "assistedSales", "assistedUnits", + "revenue", "openAuctionRevenue", "preferredDealsRevenue", "ctr", @@ -9756,7 +9807,8 @@ "updatedAt", "balanceType", "salesForceId", - "spendType" + "spendType", + "privateMarketBillingType" ], "type": "object", "properties": { @@ -9776,9 +9828,6 @@ "x-nullable": false }, "deposited": { - "required": [ - "false" - ], "type": "number", "description": "Amount of billable funds allotted to the balance.", "format": "decimal", @@ -9786,27 +9835,18 @@ "x-nullable": true }, "spent": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "remaining": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "startDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" @@ -9860,6 +9900,17 @@ "type": "string", "description": "Spend Type of the balance.", "x-nullable": false + }, + "privateMarketBillingType": { + "enum": [ + "NotApplicable", + "BillByRetailer", + "BillByCriteo", + "Unknown" + ], + "type": "string", + "description": "Billing type for Private Market.", + "x-nullable": false } }, "description": "A Retail Media Balance used to determine the funds available for any or all campaigns in an account", @@ -9894,18 +9945,12 @@ "x-nullable": false }, "budgetSpent": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "budgetRemaining": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -9981,27 +10026,18 @@ "x-nullable": false }, "budget": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "monthlyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "dailyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -10083,9 +10119,6 @@ "x-nullable": false }, "startDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" @@ -10117,9 +10150,6 @@ "x-nullable": false }, "budget": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -10136,9 +10166,6 @@ "x-nullable": false }, "budgetRemaining": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -10177,9 +10204,6 @@ "x-nullable": false }, "startDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" @@ -10191,36 +10215,24 @@ "nullable": true }, "maxBid": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "budget": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "monthlyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "dailyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -10258,9 +10270,6 @@ "x-nullable": false }, "targetBid": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -10282,9 +10291,6 @@ "x-nullable": false }, "budgetRemaining": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -10356,17 +10362,11 @@ "x-nullable": false }, "startDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" }, "endDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" @@ -10497,9 +10497,6 @@ "type": "object", "properties": { "bidOverride": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -10630,9 +10627,6 @@ "x-nullable": false }, "deposited": { - "required": [ - "false" - ], "type": "number", "description": "Amount of billable funds allotted to the balance.", "format": "decimal", @@ -10640,9 +10634,6 @@ "x-nullable": true }, "startDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" @@ -10827,27 +10818,18 @@ "x-nullable": false }, "budget": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "monthlyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "dailyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -10917,9 +10899,6 @@ "x-nullable": false }, "startDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" @@ -10946,45 +10925,30 @@ "x-nullable": false }, "budget": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "targetBid": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "maxBid": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "monthlyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "dailyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -11024,9 +10988,6 @@ "x-nullable": false }, "startDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" @@ -11058,45 +11019,30 @@ "x-nullable": false }, "budget": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "targetBid": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "maxBid": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "monthlyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "dailyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -11141,17 +11087,11 @@ "x-nullable": false }, "startDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" }, "endDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" @@ -11224,27 +11164,18 @@ "x-nullable": false }, "budget": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "monthlyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "dailyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -11335,17 +11266,11 @@ "x-nullable": false }, "startDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" }, "endDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" diff --git a/api-specifications/retailmedia_2024-04.json b/api-specifications/retailmedia_2024-04.json index 2dca2dc..393a3c5 100644 --- a/api-specifications/retailmedia_2024-04.json +++ b/api-specifications/retailmedia_2024-04.json @@ -41,7 +41,7 @@ "/2024-04/retail-media/accounts": { "get": { "tags": [ - "Campaign" + "Accounts" ], "description": "Gets page of account objects that the current user can access", "operationId": "AccountsApi_GetApiV1ExternalAccounts", @@ -66,7 +66,8 @@ "style": "form", "schema": { "type": "integer", - "format": "int32" + "format": "int32", + "default": 0 }, "x-nullable": false }, @@ -77,7 +78,8 @@ "style": "form", "schema": { "type": "integer", - "format": "int32" + "format": "int32", + "default": 25 }, "x-nullable": false } @@ -86,10 +88,20 @@ "200": { "description": "Success", "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/JsonApiPageResponseOfAccount" + } + }, "application/json": { "schema": { "$ref": "#/components/schemas/JsonApiPageResponseOfAccount" } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/JsonApiPageResponseOfAccount" + } } } } @@ -135,7 +147,8 @@ "style": "form", "schema": { "type": "integer", - "format": "int32" + "format": "int32", + "default": 0 }, "x-nullable": false }, @@ -146,7 +159,8 @@ "style": "form", "schema": { "type": "integer", - "format": "int32" + "format": "int32", + "default": 25 }, "x-nullable": false } @@ -155,10 +169,20 @@ "200": { "description": "Success", "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/JsonApiPageResponseOfBrand" + } + }, "application/json": { "schema": { "$ref": "#/components/schemas/JsonApiPageResponseOfBrand" } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/JsonApiPageResponseOfBrand" + } } } } @@ -204,7 +228,8 @@ "style": "form", "schema": { "type": "integer", - "format": "int32" + "format": "int32", + "default": 0 }, "x-nullable": false }, @@ -215,7 +240,8 @@ "style": "form", "schema": { "type": "integer", - "format": "int32" + "format": "int32", + "default": 25 }, "x-nullable": false } @@ -224,10 +250,20 @@ "200": { "description": "Success", "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/JsonApiPageResponseOfRetailer" + } + }, "application/json": { "schema": { "$ref": "#/components/schemas/JsonApiPageResponseOfRetailer" } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/JsonApiPageResponseOfRetailer" + } } } } @@ -1254,7 +1290,12 @@ "400": { "description": "The indicated catalog is not available for retrieval, wait for a success status.", "content": { - "application/x-json-stream": { }, + "application/x-json-stream": { + "schema": { + "type": "string", + "format": "binary" + } + }, "application/json": { } } } @@ -2030,7 +2071,8 @@ "$ref": "#/components/schemas/ValueResourceInputOfRetailMediaBrands" } } - } + }, + "x-bodyName": "brands" }, "responses": { "200": { @@ -2057,7 +2099,7 @@ { "name": "accountId", "in": "path", - "description": "the account id to update", + "description": "The account id to update", "required": true, "style": "simple", "schema": { @@ -2066,6 +2108,7 @@ } ], "requestBody": { + "description": "Brands to remove from account", "content": { "application/json-patch+json": { "schema": { @@ -2087,7 +2130,8 @@ "$ref": "#/components/schemas/ValueResourceInputOfRetailMediaBrands" } } - } + }, + "x-bodyName": "brands" }, "responses": { "200": { @@ -2145,7 +2189,8 @@ "$ref": "#/components/schemas/ValueResourceInputOfRetailMediaBrandAccountCreation" } } - } + }, + "x-bodyName": "accountDetails" }, "responses": { "201": { @@ -2236,7 +2281,8 @@ "$ref": "#/components/schemas/ValueResourceInputOfCampaignBudgetOverrides" } } - } + }, + "x-bodyName": "campaignBudgetOverridesInput" }, "responses": { "201": { @@ -2393,7 +2439,8 @@ "$ref": "#/components/schemas/ValueResourceInputOfLineItemBudgetOverrides" } } - } + }, + "x-bodyName": "lineItemBudgetOverridesInput" }, "responses": { "201": { @@ -2412,7 +2459,7 @@ "/2024-04/retail-media/accounts/{account-id}/balances": { "get": { "tags": [ - "Campaign" + "Balance" ], "description": "Get page of balances for the given accountId.", "operationId": "Balances_GetApiV1ExternalAccountBalancesByAccountId", @@ -2481,7 +2528,7 @@ }, "post": { "tags": [ - "Campaign" + "Balance" ], "description": "Create balance for the given account id", "operationId": "Balances_PostApiV1ExternalAccountBalancesByAccountId", @@ -2526,7 +2573,7 @@ "/2024-04/retail-media/accounts/{account-id}/balances/{balanceId}": { "get": { "tags": [ - "Campaign" + "Balance" ], "description": "Get a balance for the given account id and balance id", "operationId": "Balances_GetApiV1ExternalAccountByAccountIdAndBalanceId", @@ -2569,7 +2616,7 @@ }, "patch": { "tags": [ - "Campaign" + "Balance" ], "description": "Modify a balance for the given account id", "operationId": "Balances_PatchApiV1ExternalAccountByAccountIdAndBalanceId", @@ -2625,7 +2672,7 @@ "/2024-04/retail-media/accounts/{account-id}/balances/{balanceId}/add-funds": { "post": { "tags": [ - "Campaign" + "Balance" ], "description": "Add funds to a balance for the given account id", "operationId": "Balances_PostApiV1ExternalAccountAddFundsByAccountIdAndBalanceId", @@ -2681,7 +2728,7 @@ "/2024-04/retail-media/accounts/{account-id}/balances/{balanceId}/change-dates": { "post": { "tags": [ - "Campaign" + "Balance" ], "description": "Change dates of a balance for the given account id", "operationId": "Balances_PostApiV1ExternalAccountChangeDatesByAccountIdAndBalanceId", @@ -3203,7 +3250,7 @@ "/2024-04/retail-media/balances/{balance-id}/campaigns": { "get": { "tags": [ - "Campaign" + "Balance" ], "description": "Gets page of campaigns for the given balanceId", "operationId": "BalancesApi_GetApi202110ExternalBalanceCampaignsByBalanceId", @@ -4811,7 +4858,6 @@ "$ref": "#/components/schemas/ApplicationSummaryModelResource" }, "warnings": { - "uniqueItems": false, "type": "array", "items": { "$ref": "#/components/schemas/CommonProblem" @@ -4820,7 +4866,6 @@ "readOnly": true }, "errors": { - "uniqueItems": false, "type": "array", "items": { "$ref": "#/components/schemas/CommonProblem" @@ -4829,7 +4874,7 @@ "readOnly": true } }, - "description": "Response of ApplicationSummaryModel" + "description": "A top-level object that encapsulates a Criteo API response for a single value" }, "ApplicationSummaryModelResource": { "type": "object", @@ -4842,7 +4887,7 @@ "$ref": "#/components/schemas/ApplicationSummaryModel" } }, - "description": "A class that represents a ValueType in a guild compliant way" + "description": "A top-level object that encapsulates a Criteo API response for a single value" }, "CommonProblem": { "type": "object", @@ -4874,7 +4919,7 @@ }, "code": { "type": "string", - "description": "A machine-readable error code, expressed as a string value.", + "description": "A machine-readable error code, expressed as a string value.", "nullable": true }, "instance": { @@ -4905,7 +4950,7 @@ "nullable": true } }, - "description": "Common problem object. Can be specialized as needed." + "description": "Common problem object." }, "ApplicationSummaryModel": { "type": "object", @@ -4933,10 +4978,11 @@ "nullable": true } }, - "description": "Model of ApplicationSummary" + "description": "Used for the /me endpoint. Contains information about the currently authenticated application that we accept to give to our clients" }, "JsonApiPageResponseOfAccount": { "required": [ + "metadata", "data" ], "type": "object", @@ -4966,11 +5012,11 @@ "x-nullable": false } }, - "description": "A wrapper class to return a single page of with metadata", - "x-nullable": false + "description": "A wrapper class to return a single page of with metadata" }, "JsonApiPageResponseOfBrand": { "required": [ + "metadata", "data" ], "type": "object", @@ -5000,11 +5046,11 @@ "x-nullable": false } }, - "description": "A wrapper class to return a single page of with metadata", - "x-nullable": false + "description": "A wrapper class to return a single page of with metadata" }, "JsonApiPageResponseOfRetailer": { "required": [ + "metadata", "data" ], "type": "object", @@ -5034,8 +5080,7 @@ "x-nullable": false } }, - "description": "A wrapper class to return a single page of with metadata", - "x-nullable": false + "description": "A wrapper class to return a single page of with metadata" }, "PageMetadata": { "required": [ @@ -5075,8 +5120,7 @@ "x-nullable": false } }, - "description": "Metadata related to the current request", - "x-nullable": false + "description": "Metadata related to the current request" }, "CommonError": { "type": "object", @@ -5136,8 +5180,7 @@ "x-nullable": false } }, - "description": "A JSON:API Common error structure", - "x-nullable": false + "description": "A JSON:API Common error structure" }, "CommonWarning": { "type": "object", @@ -5197,8 +5240,7 @@ "x-nullable": false } }, - "description": "A JSON:API Base common warning", - "x-nullable": false + "description": "A JSON:API Base common warning" }, "JsonApiBodyWithIdOfInt64AndAccountAndAccount": { "required": [ @@ -5220,8 +5262,7 @@ "$ref": "#/components/schemas/ExternalAccount" } }, - "description": "A JSON:API wrapper class to format a with external Id, Type, and\r\nAttributes properties", - "x-nullable": false + "description": "A JSON:API wrapper class to format a with external Id, Type, and\r\nAttributes properties" }, "JsonApiBodyWithIdOfInt64AndBrandAndBrand": { "required": [ @@ -5243,8 +5284,7 @@ "$ref": "#/components/schemas/ExternalBrand" } }, - "description": "A JSON:API wrapper class to format a with external Id, Type, and\r\nAttributes properties", - "x-nullable": false + "description": "A JSON:API wrapper class to format a with external Id, Type, and\r\nAttributes properties" }, "JsonApiBodyWithIdOfInt64AndRetailerAndRetailer": { "required": [ @@ -5266,8 +5306,7 @@ "$ref": "#/components/schemas/ExternalRetailer" } }, - "description": "A JSON:API wrapper class to format a with external Id, Type, and\r\nAttributes properties", - "x-nullable": false + "description": "A JSON:API wrapper class to format a with external Id, Type, and\r\nAttributes properties" }, "ExternalAccount": { "required": [ @@ -5308,8 +5347,7 @@ "countries": { "type": "array", "items": { - "type": "string", - "x-nullable": false + "type": "string" }, "x-nullable": false }, @@ -5329,11 +5367,11 @@ }, "companyName": { "type": "string", - "nullable": true + "nullable": true, + "x-nullable": true } }, - "description": "A Retail Media Account used to launch campaigns and line items", - "x-nullable": false + "description": "A Retail Media Account used to launch campaigns and line items" }, "ExternalBrand": { "required": [ @@ -5348,8 +5386,7 @@ "x-nullable": false } }, - "description": "A Retail Media Brand used to represent a collection of products sold under the same umbrella name", - "x-nullable": false + "description": "A Retail Media Brand used to represent a collection of products sold under the same umbrella name" }, "ExternalRetailer": { "required": [ @@ -5370,14 +5407,12 @@ "auction", "preferred" ], - "type": "string", - "x-nullable": false + "type": "string" }, "x-nullable": false } }, - "description": "A Retail Media Retailer used to represent a selection of products from multiple brands", - "x-nullable": false + "description": "A Retail Media Retailer used to represent a selection of products from multiple brands" }, "AssetResponse": { "type": "object", @@ -7991,6 +8026,8 @@ "salesChannel", "environment", "pageTypeName", + "pageCategory", + "taxonomyBreadcrumb", "keyword", "searchTerm" ], @@ -8169,6 +8206,8 @@ "salesChannel", "environment", "pageTypeName", + "pageCategory", + "taxonomyBreadcrumb", "keyword", "searchTerm" ], @@ -8241,12 +8280,12 @@ "items": { "type": "string" }, - "description": "Campaign ids to report on", + "description": "Supply account ids to report on", "nullable": true }, "id": { "type": "string", - "description": "Campaign id to report on", + "description": "Supply account id to report on", "nullable": true }, "reportType": { @@ -8290,6 +8329,19 @@ "description": "Filter on buy type: Auction, Preferred Deals or Sponsorship", "nullable": true }, + "advertiserTypes": { + "type": "array", + "items": { + "enum": [ + "retailer", + "brand", + "seller" + ], + "type": "string" + }, + "description": "Filter on the type of advertiser: retailer, brand, seller", + "nullable": true + }, "skuRelations": { "type": "array", "items": { @@ -8373,6 +8425,7 @@ "accountId", "accountName", "accountTypeName", + "advertiserType", "campaignId", "campaignName", "campaignTypeName", @@ -8396,6 +8449,7 @@ "advProductName", "advProductGtin", "advProductMpn", + "buyType", "soldBy", "saleChannel", "attributionSettings", @@ -8443,6 +8497,7 @@ "transactions", "assistedSales", "assistedUnits", + "revenue", "openAuctionRevenue", "preferredDealsRevenue", "ctr", @@ -10311,7 +10366,8 @@ "updatedAt", "balanceType", "salesForceId", - "spendType" + "spendType", + "privateMarketBillingType" ], "type": "object", "properties": { @@ -10331,9 +10387,6 @@ "x-nullable": false }, "deposited": { - "required": [ - "false" - ], "type": "number", "description": "Amount of billable funds allotted to the balance.", "format": "decimal", @@ -10341,27 +10394,18 @@ "x-nullable": true }, "spent": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "remaining": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "startDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" @@ -10415,6 +10459,17 @@ "type": "string", "description": "Spend Type of the balance.", "x-nullable": false + }, + "privateMarketBillingType": { + "enum": [ + "NotApplicable", + "BillByRetailer", + "BillByCriteo", + "Unknown" + ], + "type": "string", + "description": "Billing type for Private Market.", + "x-nullable": false } }, "description": "A Retail Media Balance used to determine the funds available for any or all campaigns in an account", @@ -10449,18 +10504,12 @@ "x-nullable": false }, "budgetSpent": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "budgetRemaining": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -10536,27 +10585,18 @@ "x-nullable": false }, "budget": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "monthlyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "dailyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -10638,9 +10678,6 @@ "x-nullable": false }, "startDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" @@ -10672,9 +10709,6 @@ "x-nullable": false }, "budget": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -10691,9 +10725,6 @@ "x-nullable": false }, "budgetRemaining": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -10732,9 +10763,6 @@ "x-nullable": false }, "startDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" @@ -10746,36 +10774,24 @@ "nullable": true }, "maxBid": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "budget": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "monthlyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "dailyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -10813,9 +10829,6 @@ "x-nullable": false }, "targetBid": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -10837,9 +10850,6 @@ "x-nullable": false }, "budgetRemaining": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -10911,17 +10921,11 @@ "x-nullable": false }, "startDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" }, "endDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" @@ -11052,9 +11056,6 @@ "type": "object", "properties": { "bidOverride": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -11185,9 +11186,6 @@ "x-nullable": false }, "deposited": { - "required": [ - "false" - ], "type": "number", "description": "Amount of billable funds allotted to the balance.", "format": "decimal", @@ -11195,9 +11193,6 @@ "x-nullable": true }, "startDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" @@ -11382,27 +11377,18 @@ "x-nullable": false }, "budget": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "monthlyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "dailyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -11472,9 +11458,6 @@ "x-nullable": false }, "startDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" @@ -11501,45 +11484,30 @@ "x-nullable": false }, "budget": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "targetBid": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "maxBid": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "monthlyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "dailyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -11579,9 +11547,6 @@ "x-nullable": false }, "startDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" @@ -11613,45 +11578,30 @@ "x-nullable": false }, "budget": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "targetBid": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "maxBid": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "monthlyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "dailyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -11696,17 +11646,11 @@ "x-nullable": false }, "startDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" }, "endDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" @@ -11779,27 +11723,18 @@ "x-nullable": false }, "budget": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "monthlyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "dailyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -11890,17 +11825,11 @@ "x-nullable": false }, "startDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" }, "endDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" diff --git a/api-specifications/retailmedia_2023-04.json b/api-specifications/retailmedia_2024-07.json similarity index 78% rename from api-specifications/retailmedia_2023-04.json rename to api-specifications/retailmedia_2024-07.json index b928c12..09762ac 100644 --- a/api-specifications/retailmedia_2023-04.json +++ b/api-specifications/retailmedia_2024-07.json @@ -3,7 +3,7 @@ "info": { "title": "Criteo API", "description": "Criteo API - RetailMedia", - "version": "2023-04" + "version": "2024-07" }, "servers": [ { @@ -11,7 +11,7 @@ } ], "paths": { - "/2023-04/retail-media/me": { + "/2024-07/retail-media/me": { "get": { "tags": [ "Gateway" @@ -38,10 +38,10 @@ } } }, - "/2023-04/retail-media/accounts": { + "/2024-07/retail-media/accounts": { "get": { "tags": [ - "Campaign" + "Accounts" ], "description": "Gets page of account objects that the current user can access", "operationId": "AccountsApi_GetApiV1ExternalAccounts", @@ -66,7 +66,8 @@ "style": "form", "schema": { "type": "integer", - "format": "int32" + "format": "int32", + "default": 0 }, "x-nullable": false }, @@ -77,7 +78,8 @@ "style": "form", "schema": { "type": "integer", - "format": "int32" + "format": "int32", + "default": 25 }, "x-nullable": false } @@ -86,17 +88,27 @@ "200": { "description": "Success", "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/JsonApiPageResponseOfAccount" + } + }, "application/json": { "schema": { "$ref": "#/components/schemas/JsonApiPageResponseOfAccount" } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/JsonApiPageResponseOfAccount" + } } } } } } }, - "/2023-04/retail-media/accounts/{accountId}/brands": { + "/2024-07/retail-media/accounts/{accountId}/brands": { "get": { "tags": [ "Campaign" @@ -135,7 +147,8 @@ "style": "form", "schema": { "type": "integer", - "format": "int32" + "format": "int32", + "default": 0 }, "x-nullable": false }, @@ -146,7 +159,8 @@ "style": "form", "schema": { "type": "integer", - "format": "int32" + "format": "int32", + "default": 25 }, "x-nullable": false } @@ -155,17 +169,27 @@ "200": { "description": "Success", "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/JsonApiPageResponseOfBrand" + } + }, "application/json": { "schema": { "$ref": "#/components/schemas/JsonApiPageResponseOfBrand" } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/JsonApiPageResponseOfBrand" + } } } } } } }, - "/2023-04/retail-media/accounts/{accountId}/retailers": { + "/2024-07/retail-media/accounts/{accountId}/retailers": { "get": { "tags": [ "Campaign" @@ -204,7 +228,8 @@ "style": "form", "schema": { "type": "integer", - "format": "int32" + "format": "int32", + "default": 0 }, "x-nullable": false }, @@ -215,7 +240,8 @@ "style": "form", "schema": { "type": "integer", - "format": "int32" + "format": "int32", + "default": 25 }, "x-nullable": false } @@ -224,17 +250,27 @@ "200": { "description": "Success", "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/JsonApiPageResponseOfRetailer" + } + }, "application/json": { "schema": { "$ref": "#/components/schemas/JsonApiPageResponseOfRetailer" } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/JsonApiPageResponseOfRetailer" + } } } } } } }, - "/2023-04/retail-media/assets": { + "/2024-07/retail-media/assets": { "post": { "tags": [ "Campaign" @@ -283,7 +319,7 @@ } } }, - "/2023-04/retail-media/accounts/{accountId}/audiences": { + "/2024-07/retail-media/accounts/{accountId}/audiences": { "get": { "tags": [ "Audience" @@ -486,7 +522,7 @@ "deprecated": true } }, - "/2023-04/retail-media/v2/accounts/{accountId}/audiences": { + "/2024-07/retail-media/v2/accounts/{accountId}/audiences": { "get": { "tags": [ "Audience" @@ -689,7 +725,7 @@ "deprecated": true } }, - "/2023-04/retail-media/line-items/{id}/keywords": { + "/2024-07/retail-media/line-items/{id}/keywords": { "get": { "tags": [ "Campaign" @@ -732,7 +768,7 @@ } } }, - "/2023-04/retail-media/line-items/{id}/keywords/add-remove": { + "/2024-07/retail-media/line-items/{id}/keywords/add-remove": { "post": { "tags": [ "Campaign" @@ -784,7 +820,7 @@ } } }, - "/2023-04/retail-media/line-items/{id}/keywords/set-bid": { + "/2024-07/retail-media/line-items/{id}/keywords/set-bid": { "post": { "tags": [ "Campaign" @@ -836,7 +872,7 @@ } } }, - "/2023-04/retail-media/preferred-deal-line-items/{id}/proposal": { + "/2024-07/retail-media/preferred-deal-line-items/{id}/proposal": { "get": { "tags": [ "Campaign" @@ -889,7 +925,7 @@ } } }, - "/2023-04/retail-media/preferred-deal-line-items/{id}/proposal/submit": { + "/2024-07/retail-media/preferred-deal-line-items/{id}/proposal/submit": { "post": { "tags": [ "Campaign" @@ -942,7 +978,7 @@ } } }, - "/2023-04/retail-media/accounts/{account-id}/creatives": { + "/2024-07/retail-media/accounts/{account-id}/creatives": { "get": { "tags": [ "Campaign" @@ -1020,7 +1056,7 @@ } } }, - "/2023-04/retail-media/accounts/{account-id}/creatives/search": { + "/2024-07/retail-media/accounts/{account-id}/creatives/search": { "post": { "tags": [ "Campaign" @@ -1067,7 +1103,7 @@ } } }, - "/2023-04/retail-media/accounts/{account-id}/creatives/{creative-id}": { + "/2024-07/retail-media/accounts/{account-id}/creatives/{creative-id}": { "get": { "tags": [ "Campaign" @@ -1173,7 +1209,7 @@ } } }, - "/2023-04/retail-media/accounts/{accountId}/catalogs": { + "/2024-07/retail-media/accounts/{accountId}/catalogs": { "post": { "tags": [ "Campaign" @@ -1218,7 +1254,7 @@ } } }, - "/2023-04/retail-media/catalogs/{catalogId}/output": { + "/2024-07/retail-media/catalogs/{catalogId}/output": { "get": { "tags": [ "Campaign" @@ -1254,14 +1290,19 @@ "400": { "description": "The indicated catalog is not available for retrieval, wait for a success status.", "content": { - "application/x-json-stream": { }, + "application/x-json-stream": { + "schema": { + "type": "string", + "format": "binary" + } + }, "application/json": { } } } } } }, - "/2023-04/retail-media/catalogs/{catalogId}/status": { + "/2024-07/retail-media/catalogs/{catalogId}/status": { "get": { "tags": [ "Campaign" @@ -1295,7 +1336,7 @@ } } }, - "/2023-04/retail-media/categories": { + "/2024-07/retail-media/categories": { "get": { "tags": [ "Campaign" @@ -1367,7 +1408,7 @@ } } }, - "/2023-04/retail-media/categories/{categoryId}": { + "/2024-07/retail-media/categories/{categoryId}": { "get": { "tags": [ "Campaign" @@ -1414,7 +1455,7 @@ } } }, - "/2023-04/retail-media/retailers/{retailer-id}/templates": { + "/2024-07/retail-media/retailers/{retailer-id}/templates": { "get": { "tags": [ "Campaign" @@ -1449,7 +1490,7 @@ } } }, - "/2023-04/retail-media/retailers/{retailer-id}/templates/{template-id}": { + "/2024-07/retail-media/retailers/{retailer-id}/templates/{template-id}": { "get": { "tags": [ "Campaign" @@ -1496,7 +1537,7 @@ } } }, - "/2023-04/retail-media/retailers/{retailerId}/pages": { + "/2024-07/retail-media/retailers/{retailerId}/pages": { "get": { "tags": [ "Campaign" @@ -1531,7 +1572,7 @@ } } }, - "/2023-04/retail-media/reports/campaigns": { + "/2024-07/retail-media/reports/campaigns": { "post": { "tags": [ "Analytics" @@ -1628,7 +1669,7 @@ } } }, - "/2023-04/retail-media/reports/line-items": { + "/2024-07/retail-media/reports/line-items": { "post": { "tags": [ "Analytics" @@ -1725,7 +1766,104 @@ } } }, - "/2023-04/retail-media/reports/{reportId}/output": { + "/2024-07/retail-media/reports/revenue": { + "post": { + "tags": [ + "Analytics" + ], + "description": "Returns an asynchronous Revenue Report", + "operationId": "GenerateAsyncRevenueReport", + "requestBody": { + "content": { + "application/json-patch+json": { + "schema": { + "$ref": "#/components/schemas/AsyncRevenueReportRequest" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/AsyncRevenueReportRequest" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/AsyncRevenueReportRequest" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/AsyncRevenueReportRequest" + } + } + }, + "required": true, + "x-bodyName": "request" + }, + "responses": { + "200": { + "description": "Success", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/AsyncReportResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/AsyncReportResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/AsyncReportResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ReportOutcome" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReportOutcome" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ReportOutcome" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/ReportOutcome" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/ReportOutcome" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ReportOutcome" + } + } + } + } + } + } + }, + "/2024-07/retail-media/reports/{reportId}/output": { "get": { "tags": [ "Analytics" @@ -1808,7 +1946,7 @@ } } }, - "/2023-04/retail-media/reports/{reportId}/status": { + "/2024-07/retail-media/reports/{reportId}/status": { "get": { "tags": [ "Analytics" @@ -1891,68 +2029,58 @@ } } }, - "/2023-04/retail-media/accounts/{account-id}/balances": { - "get": { + "/2024-07/retail-media/account-management/accounts/{accountId}/brands/add": { + "post": { "tags": [ - "Campaign" + "Accounts" ], - "description": "Gets page of balance objects for the given account id", - "operationId": "BalancesApi_GetApi202110ExternalAccountBalancesByAccountId", + "description": "Add brands to an account", + "operationId": "AddBrands", "parameters": [ { - "name": "account-id", + "name": "accountId", "in": "path", - "description": "The account to get balances for", + "description": "the account id to update", "required": true, "style": "simple", "schema": { "type": "string" + } + } + ], + "requestBody": { + "description": "brands to associate to account", + "content": { + "application/json-patch+json": { + "schema": { + "$ref": "#/components/schemas/ValueResourceInputOfRetailMediaBrands" + } }, - "x-nullable": false - }, - { - "name": "limitToId", - "in": "query", - "description": "The ids that you would like to limit your result set to", - "style": "form", - "schema": { - "type": "array", - "items": { - "type": "string" + "application/json": { + "schema": { + "$ref": "#/components/schemas/ValueResourceInputOfRetailMediaBrands" } }, - "x-nullable": false - }, - { - "name": "pageIndex", - "in": "query", - "description": "The 0 indexed page index you would like to receive given the page size", - "style": "form", - "schema": { - "type": "integer", - "format": "int32" + "text/json": { + "schema": { + "$ref": "#/components/schemas/ValueResourceInputOfRetailMediaBrands" + } }, - "x-nullable": false + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/ValueResourceInputOfRetailMediaBrands" + } + } }, - { - "name": "pageSize", - "in": "query", - "description": "The maximum number of items you would like to receive in this request", - "style": "form", - "schema": { - "type": "integer", - "format": "int32" - }, - "x-nullable": false - } - ], + "x-bodyName": "brands" + }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Balance202110PagedListResponse" + "$ref": "#/components/schemas/ValueResourceOfRetailMediaBrands" } } } @@ -1960,106 +2088,109 @@ } } }, - "/2023-04/retail-media/accounts/{account-id}/campaigns": { - "get": { + "/2024-07/retail-media/account-management/accounts/{accountId}/brands/remove": { + "post": { "tags": [ - "Campaign" + "Accounts" ], - "description": "Get all the editable and creatable campaign attributes including all types of budgets for each campaigns in relation to the account id, limited by the campaign ids.", - "operationId": "Campaigns_GetApi202301ExternalAccountCampaignsByAccountId", + "description": "Remove a brand from an account", + "operationId": "RemoveBrands", "parameters": [ { - "name": "account-id", + "name": "accountId", "in": "path", - "description": "The account to request the campaign for.", + "description": "The account id to update", "required": true, "style": "simple", "schema": { "type": "string" + } + } + ], + "requestBody": { + "description": "Brands to remove from account", + "content": { + "application/json-patch+json": { + "schema": { + "$ref": "#/components/schemas/ValueResourceInputOfRetailMediaBrands" + } }, - "x-nullable": false - }, - { - "name": "limitToId", - "in": "query", - "description": "The ids that you would like to limit your result set to", - "style": "form", - "schema": { - "type": "array", - "items": { - "type": "string" + "application/json": { + "schema": { + "$ref": "#/components/schemas/ValueResourceInputOfRetailMediaBrands" } }, - "x-nullable": false - }, - { - "name": "pageIndex", - "in": "query", - "description": "The 0 indexed page index you would like to receive given the page size", - "style": "form", - "schema": { - "type": "integer", - "format": "int32", - "default": 0 + "text/json": { + "schema": { + "$ref": "#/components/schemas/ValueResourceInputOfRetailMediaBrands" + } }, - "x-nullable": false + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/ValueResourceInputOfRetailMediaBrands" + } + } }, - { - "name": "pageSize", - "in": "query", - "description": "The maximum number of items you would like to receive in this request", - "style": "form", - "schema": { - "type": "integer", - "format": "int32", - "default": 25 - }, - "x-nullable": false - } - ], + "x-bodyName": "brands" + }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/JsonApiPageResponseOfCampaignV202301" + "$ref": "#/components/schemas/ValueResourceOfRetailMediaBrands" } } } } } - }, + } + }, + "/2024-07/retail-media/account-management/accounts/{accountId}/create-brand-account": { "post": { "tags": [ - "Campaign" + "Accounts" ], - "description": "Create a campaign and assign budgets for the given account id with creatable campaign attributes given in request body constrained by business validation. The validation error includes details and source of errors. Pacing can be adjusted and affected by the status of the campaign and the days left on the campaign if auto daily pacing is enabled.", - "operationId": "Campaigns_PostApi202301ExternalAccountCampaignsByAccountId", + "description": "Creates a new child Demand Brand Account for the provided parent private market account", + "operationId": "CreatePrivateMarketDemandBrandAccount", "parameters": [ { - "name": "account-id", + "name": "accountId", "in": "path", - "description": "The account to request the campaign for.", + "description": "Account Id for the parent private market account", "required": true, "style": "simple", "schema": { "type": "string" - }, - "x-nullable": false + } } ], "requestBody": { - "description": "Creatable campaign attributes", + "description": "Initial creation and configuration options for the new account", "content": { + "application/json-patch+json": { + "schema": { + "$ref": "#/components/schemas/ValueResourceInputOfRetailMediaBrandAccountCreation" + } + }, "application/json": { "schema": { - "$ref": "#/components/schemas/PostCampaignV202301" + "$ref": "#/components/schemas/ValueResourceInputOfRetailMediaBrandAccountCreation" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ValueResourceInputOfRetailMediaBrandAccountCreation" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/ValueResourceInputOfRetailMediaBrandAccountCreation" } } }, - "x-nullable": false, - "x-bodyName": "campaign" + "x-bodyName": "accountDetails" }, "responses": { "201": { @@ -2067,7 +2198,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/JsonApiSingleResponseOfCampaignV202301" + "$ref": "#/components/schemas/ResourceOutcomeOfRetailMediaAccount" } } } @@ -2075,87 +2206,176 @@ } } }, - "/2023-04/retail-media/accounts/{account-id}/line-items": { - "get": { + "/2024-07/retail-media/account-management/accounts/{accountId}/create-seller-account": { + "post": { "tags": [ - "Campaign" + "Accounts" ], - "description": "Gets page of line item objects for the given account id", - "operationId": "GetApiV2ExternalAccountLineItemsByAccountId", + "description": "Creates a new child Demand Seller Account for the provided parent private market account", + "operationId": "CreatePrivateMarketDemandSellerAccount", "parameters": [ { - "name": "account-id", + "name": "accountId", "in": "path", - "description": "The given account id", + "description": "Account Id for the parent private market account", "required": true, "style": "simple", "schema": { "type": "string" + } + } + ], + "requestBody": { + "description": "Initial creation and configuration options for the new account", + "content": { + "application/json-patch+json": { + "schema": { + "$ref": "#/components/schemas/ValueResourceInputOfRetailMediaSellerAccountCreation" + } }, - "x-nullable": false + "application/json": { + "schema": { + "$ref": "#/components/schemas/ValueResourceInputOfRetailMediaSellerAccountCreation" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ValueResourceInputOfRetailMediaSellerAccountCreation" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/ValueResourceInputOfRetailMediaSellerAccountCreation" + } + } }, + "x-bodyName": "accountDetails" + }, + "responses": { + "201": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResourceOutcomeOfRetailMediaAccount" + } + } + } + } + } + } + }, + "/2024-07/retail-media/account-management/accounts/{accountId}/sellers": { + "put": { + "tags": [ + "Accounts" + ], + "description": "replace the sellers assoiated with an account", + "operationId": "UpdateSellers", + "parameters": [ { - "name": "limitToCampaignId", - "in": "query", - "description": "The campaign ids that you would like to limit your result set to", - "style": "form", + "name": "accountId", + "in": "path", + "description": "the account id to update", + "required": true, + "style": "simple", "schema": { - "type": "array", - "items": { - "type": "string" + "type": "string" + } + } + ], + "requestBody": { + "description": "sellers to associate", + "content": { + "application/json-patch+json": { + "schema": { + "$ref": "#/components/schemas/ValueResourceCollectionInputOfRetailMediaSeller" } }, - "x-nullable": false + "application/json": { + "schema": { + "$ref": "#/components/schemas/ValueResourceCollectionInputOfRetailMediaSeller" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ValueResourceCollectionInputOfRetailMediaSeller" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/ValueResourceCollectionInputOfRetailMediaSeller" + } + } }, + "x-bodyName": "sellers" + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ValueResourceCollectionOutcomeOfRetailMediaSeller" + } + } + } + } + } + } + }, + "/2024-07/retail-media/balances/{balanceId}/history": { + "get": { + "tags": [ + "Balance" + ], + "description": "Gets the balance's historical change data.", + "operationId": "GetBalanceHistory", + "parameters": [ { - "name": "limitToType", - "in": "query", - "description": "The campaign types that you would like to limit your result set to", - "style": "form", + "name": "balanceId", + "in": "path", + "description": "Balance id.", + "required": true, + "style": "simple", "schema": { - "enum": [ - "Unknown", - "Auction", - "Preferred" - ], "type": "string" - }, - "x-nullable": true + } }, { - "name": "limitToId", + "name": "offset", "in": "query", - "description": "The ids that you would like to limit your result set to", + "description": "The (zero-based) starting offset in the collection.", "style": "form", "schema": { - "type": "array", - "items": { - "type": "string" - } - }, - "x-nullable": false + "maximum": 2147483647, + "minimum": 0, + "type": "integer", + "format": "int32", + "default": 0 + } }, { - "name": "pageIndex", + "name": "limit", "in": "query", - "description": "The 0 indexed page index you would like to receive given the page size", + "description": "The number of elements to be returned.", "style": "form", "schema": { + "maximum": 100, + "minimum": 1, "type": "integer", - "format": "int32" - }, - "x-nullable": false + "format": "int32", + "default": 25 + } }, { - "name": "pageSize", + "name": "limitToChangeTypes", "in": "query", - "description": "The maximum number of items you would like to receive in this request", + "description": "Comma separated change types string that will be queried.", "style": "form", "schema": { - "type": "integer", - "format": "int32" - }, - "x-nullable": false + "type": "string" + } } ], "responses": { @@ -2164,7 +2384,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CommonLineItemPagedListResponse" + "$ref": "#/components/schemas/PageOfBalanceHistoryChangeDataCaptureV1" } } } @@ -2172,24 +2392,24 @@ } } }, - "/2023-04/retail-media/auction-line-items/{line-item-id}": { + "/2024-07/retail-media/campaigns/{campaignId}/campaign-budget-overrides": { "get": { "tags": [ "Campaign" ], - "description": "Gets the auction line item for the given line item id", - "operationId": "GetApiV2ExternalAuctionLineItemByLineItemId", + "description": "Get current campaign budget overrides by given external campaign id.", + "operationId": "GetCampaignBudgetOverrides", "parameters": [ { - "name": "line-item-id", + "name": "campaignId", "in": "path", - "description": "The given line item id", + "description": "External campaign id.", "required": true, "style": "simple", "schema": { - "type": "string" - }, - "x-nullable": false + "type": "integer", + "format": "int64" + } } ], "responses": { @@ -2198,17 +2418,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AuctionLineItemResponse" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AuctionLineItemResponse" + "$ref": "#/components/schemas/ValueResourceOutcomeOfCampaignBudgetOverrides" } } } @@ -2219,50 +2429,54 @@ "tags": [ "Campaign" ], - "description": "Updates the auction line item for the given line item id", - "operationId": "PutApiV2ExternalAuctionLineItemByLineItemId", + "description": "Update campaign budget overrides by given external campaign id and new campaign budget overrides settings.", + "operationId": "UpdateCampaignBudgetOverrides", "parameters": [ { - "name": "line-item-id", + "name": "campaignId", "in": "path", - "description": "The given line item id", + "description": "External campaign id.", "required": true, "style": "simple", "schema": { - "type": "string" - }, - "x-nullable": false + "type": "integer", + "format": "int64" + } } ], "requestBody": { - "description": "The line item settings to create a line item with", + "description": "New campaign budget overrides settings value resource input.", "content": { + "application/json-patch+json": { + "schema": { + "$ref": "#/components/schemas/ValueResourceInputOfCampaignBudgetOverrides" + } + }, "application/json": { "schema": { - "$ref": "#/components/schemas/AuctionLineItemUpdateModelRequest" + "$ref": "#/components/schemas/ValueResourceInputOfCampaignBudgetOverrides" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ValueResourceInputOfCampaignBudgetOverrides" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/ValueResourceInputOfCampaignBudgetOverrides" } } }, - "x-nullable": false, - "x-bodyName": "lineItem" + "x-bodyName": "campaignBudgetOverridesInput" }, "responses": { - "200": { + "201": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AuctionLineItemResponse" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AuctionLineItemResponse" + "$ref": "#/components/schemas/ValueResourceOutcomeOfCampaignBudgetOverrides" } } } @@ -2270,24 +2484,23 @@ } } }, - "/2023-04/retail-media/auction-line-items/{line-item-id}/targeting/keywords": { + "/2024-07/retail-media/line-items/{lineItemId}/line-item-budget-overrides": { "get": { "tags": [ "Campaign" ], - "description": "This endpoint gets the keyword target on the specified line item.", - "operationId": "TargetingApi_GetApi202110ExternalAuctionLineItemTargetingKeywordsByLineItemId", + "description": "Gets a collection of monthly and daily budget overrides for the provided line item.", + "operationId": "GetLineItemBudgetOverrides", "parameters": [ { - "name": "line-item-id", + "name": "lineItemId", "in": "path", - "description": "The line item to interact with", + "description": "The line item id to get budget overrides for.", "required": true, "style": "simple", "schema": { "type": "string" - }, - "x-nullable": false + } } ], "responses": { @@ -2296,92 +2509,152 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/KeywordTarget202110Response" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/KeywordTarget202110Response" + "$ref": "#/components/schemas/ValueResourceOutcomeOfLineItemBudgetOverrides" } } } } } - } - }, - "/2023-04/retail-media/auction-line-items/{line-item-id}/targeting/keywords/append": { - "post": { + }, + "put": { "tags": [ "Campaign" ], - "description": "This endpoint appends one or more keywords to targeting on the specified line item. The resulting state of the keyword target is returned.", - "operationId": "TargetingApi_PostApi202110ExternalAuctionLineItemTargetingKeywordsAppendByLineItemId", + "description": "Update line item budget overrides by given external line item id and new line item budget overrides settings.", + "operationId": "UpdateLineItemBudgetOverrides", "parameters": [ { - "name": "line-item-id", + "name": "lineItemId", "in": "path", - "description": "The line item to interact with", + "description": "Line item external id.", "required": true, "style": "simple", "schema": { "type": "string" - }, - "x-nullable": false + } } ], "requestBody": { - "description": "", + "description": "New line item budget overrides settings value resource input.", "content": { + "application/json-patch+json": { + "schema": { + "$ref": "#/components/schemas/ValueResourceInputOfLineItemBudgetOverrides" + } + }, "application/json": { "schema": { - "$ref": "#/components/schemas/KeywordTarget202110Request" + "$ref": "#/components/schemas/ValueResourceInputOfLineItemBudgetOverrides" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/ValueResourceInputOfLineItemBudgetOverrides" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/ValueResourceInputOfLineItemBudgetOverrides" } } }, - "x-nullable": false, - "x-bodyName": "keywordsToAppend" + "x-bodyName": "lineItemBudgetOverridesInput" }, "responses": { - "200": { + "201": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/KeywordTarget202110Response" + "$ref": "#/components/schemas/ValueResourceOutcomeOfLineItemBudgetOverrides" } } } + } + } + } + }, + "/2024-07/retail-media/accounts/{account-id}/balances": { + "get": { + "tags": [ + "Balance" + ], + "description": "Get page of balances for the given accountId.", + "operationId": "Balances_GetApiV1ExternalAccountBalancesByAccountId", + "parameters": [ + { + "name": "account-id", + "in": "path", + "description": "The account to get page of balances for", + "required": true, + "style": "simple", + "schema": { + "type": "string" + }, + "x-nullable": false }, - "400": { - "description": "Bad Request", + { + "name": "limitToId", + "in": "query", + "description": "The ids that you would like to limit your result set to", + "style": "form", + "schema": { + "type": "array", + "items": { + "type": "string" + } + }, + "x-nullable": false + }, + { + "name": "pageIndex", + "in": "query", + "description": "The 0 indexed page index you would like to receive given the page size", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "default": 0 + }, + "x-nullable": false + }, + { + "name": "pageSize", + "in": "query", + "description": "The maximum number of items you would like to receive in this request", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "default": 25 + }, + "x-nullable": false + } + ], + "responses": { + "200": { + "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/KeywordTarget202110Response" + "$ref": "#/components/schemas/BalanceResponsePagedListResponse" } } } } } - } - }, - "/2023-04/retail-media/auction-line-items/{line-item-id}/targeting/keywords/delete": { + }, "post": { "tags": [ - "Campaign" + "Balance" ], - "description": "This endpoint removes one or more keywords from targeting on the specified line item. The resulting state of the keyword target is returned.", - "operationId": "TargetingApi_PostApi202110ExternalAuctionLineItemTargetingKeywordsDeleteByLineItemId", + "description": "Create balance for the given account id", + "operationId": "Balances_PostApiV1ExternalAccountBalancesByAccountId", "parameters": [ { - "name": "line-item-id", + "name": "account-id", "in": "path", - "description": "The line item to interact with", + "description": "The account to create balances for", "required": true, "style": "simple", "schema": { @@ -2391,34 +2664,23 @@ } ], "requestBody": { - "description": "", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/KeywordTarget202110Request" + "$ref": "#/components/schemas/CreateBalanceRequest" } } }, "x-nullable": false, - "x-bodyName": "keywordsToRemove" + "x-bodyName": "createBalance" }, "responses": { - "200": { + "201": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/KeywordTarget202110Response" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/KeywordTarget202110Response" + "$ref": "#/components/schemas/BalanceResponse" } } } @@ -2426,18 +2688,18 @@ } } }, - "/2023-04/retail-media/balances/{balance-id}/campaigns": { + "/2024-07/retail-media/accounts/{account-id}/balances/{balanceId}": { "get": { "tags": [ - "Campaign" + "Balance" ], - "description": "Gets page of campaigns for the given balanceId", - "operationId": "BalancesApi_GetApi202110ExternalBalanceCampaignsByBalanceId", + "description": "Get a balance for the given account id and balance id", + "operationId": "Balances_GetApiV1ExternalAccountByAccountIdAndBalanceId", "parameters": [ { - "name": "balance-id", + "name": "account-id", "in": "path", - "description": "The balance to get campaigns from", + "description": "The account of the balance", "required": true, "style": "simple", "schema": { @@ -2446,48 +2708,78 @@ "x-nullable": false }, { - "name": "limitToId", - "in": "query", - "description": "The ids that you would like to limit your result set to", - "style": "form", + "name": "balanceId", + "in": "path", + "description": "The balance id", + "required": true, + "style": "simple", "schema": { - "type": "array", - "items": { - "type": "string" - } + "type": "string" }, "x-nullable": false - }, + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BalanceResponse" + } + } + } + } + } + }, + "patch": { + "tags": [ + "Balance" + ], + "description": "Modify a balance for the given account id", + "operationId": "Balances_PatchApiV1ExternalAccountByAccountIdAndBalanceId", + "parameters": [ { - "name": "pageIndex", - "in": "query", - "description": "The 0 indexed page index you would like to receive given the page size", - "style": "form", + "name": "account-id", + "in": "path", + "description": "The account of the balance", + "required": true, + "style": "simple", "schema": { - "type": "integer", - "format": "int32" + "type": "string" }, "x-nullable": false }, { - "name": "pageSize", - "in": "query", - "description": "The maximum number of items you would like to receive in this request", - "style": "form", + "name": "balanceId", + "in": "path", + "description": "The balance to change the dates", + "required": true, + "style": "simple", "schema": { - "type": "integer", - "format": "int32" + "type": "string" }, "x-nullable": false } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateBalanceModelRequest" + } + } + }, + "x-nullable": false, + "x-bodyName": "updateBalanceModel" + }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/BalanceCampaign202110PagedListResponse" + "$ref": "#/components/schemas/BalanceResponse" } } } @@ -2495,18 +2787,29 @@ } } }, - "/2023-04/retail-media/balances/{balance-id}/campaigns/append": { + "/2024-07/retail-media/accounts/{account-id}/balances/{balanceId}/add-funds": { "post": { "tags": [ - "Campaign" + "Balance" ], - "description": "appends one or more campaigns to the specified balance", - "operationId": "BalancesApi_PostApi202110ExternalBalanceCampaignsAppendByBalanceId", + "description": "Add funds to a balance for the given account id", + "operationId": "Balances_PostApiV1ExternalAccountAddFundsByAccountIdAndBalanceId", "parameters": [ { - "name": "balance-id", + "name": "account-id", "in": "path", - "description": "The balance to add campaigns from", + "description": "The account of the balance", + "required": true, + "style": "simple", + "schema": { + "type": "string" + }, + "x-nullable": false + }, + { + "name": "balanceId", + "in": "path", + "description": "The balance to add funds to", "required": true, "style": "simple", "schema": { @@ -2516,16 +2819,15 @@ } ], "requestBody": { - "description": "The campaigns to append", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/BalanceCampaign202110ListRequest" + "$ref": "#/components/schemas/AddFundsToBalanceRequest" } } }, "x-nullable": false, - "x-bodyName": "campaigns" + "x-bodyName": "addFundsToBalance" }, "responses": { "200": { @@ -2533,7 +2835,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/BalanceCampaign202110PagedListResponse" + "$ref": "#/components/schemas/BalanceResponse" } } } @@ -2541,18 +2843,29 @@ } } }, - "/2023-04/retail-media/balances/{balance-id}/campaigns/delete": { + "/2024-07/retail-media/accounts/{account-id}/balances/{balanceId}/change-dates": { "post": { "tags": [ - "Campaign" + "Balance" ], - "description": "Removes one or more campaigns on the specified balance", - "operationId": "BalancesApi_PostApi202110ExternalBalanceCampaignsDeleteByBalanceId", + "description": "Change dates of a balance for the given account id", + "operationId": "Balances_PostApiV1ExternalAccountChangeDatesByAccountIdAndBalanceId", "parameters": [ { - "name": "balance-id", + "name": "account-id", "in": "path", - "description": "The balance to remove campaigns from", + "description": "The account of the balance", + "required": true, + "style": "simple", + "schema": { + "type": "string" + }, + "x-nullable": false + }, + { + "name": "balanceId", + "in": "path", + "description": "The balance to change the dates", "required": true, "style": "simple", "schema": { @@ -2562,16 +2875,15 @@ } ], "requestBody": { - "description": "The campaigns to append", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/BalanceCampaign202110ListRequest" + "$ref": "#/components/schemas/ChangeDatesOfBalanceRequest" } } }, "x-nullable": false, - "x-bodyName": "campaigns" + "x-bodyName": "changeDatesOfBalance" }, "responses": { "200": { @@ -2579,7 +2891,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/BalanceCampaign202110PagedListResponse" + "$ref": "#/components/schemas/BalanceResponse" } } } @@ -2587,18 +2899,18 @@ } } }, - "/2023-04/retail-media/campaigns/{campaign-id}/auction-line-items": { + "/2024-07/retail-media/accounts/{account-id}/campaigns": { "get": { "tags": [ "Campaign" ], - "description": "Gets page of auction line item objects for the given campaign id", - "operationId": "GetApiV2ExternalCampaignAuctionLineItemsByCampaignId", + "description": "Get all the editable and creatable campaign attributes including all types of budgets for each campaigns in relation to the account id, limited by the campaign ids.", + "operationId": "Campaigns_GetApi202301ExternalAccountCampaignsByAccountId", "parameters": [ { - "name": "campaign-id", + "name": "account-id", "in": "path", - "description": "The given campaign id", + "description": "The account to request the campaign for.", "required": true, "style": "simple", "schema": { @@ -2626,7 +2938,8 @@ "style": "form", "schema": { "type": "integer", - "format": "int32" + "format": "int32", + "default": 0 }, "x-nullable": false }, @@ -2637,7 +2950,8 @@ "style": "form", "schema": { "type": "integer", - "format": "int32" + "format": "int32", + "default": 25 }, "x-nullable": false } @@ -2648,17 +2962,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AuctionLineItemPagedListResponse" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AuctionLineItemPagedListResponse" + "$ref": "#/components/schemas/JsonApiPageResponseOfCampaignV202301" } } } @@ -2669,13 +2973,13 @@ "tags": [ "Campaign" ], - "description": "Creates new auction line item with the specified settings", - "operationId": "PostApiV2ExternalCampaignAuctionLineItemsByCampaignId", + "description": "Create a campaign and assign budgets for the given account id with creatable campaign attributes given in request body constrained by business validation. The validation error includes details and source of errors. Pacing can be adjusted and affected by the status of the campaign and the days left on the campaign if auto daily pacing is enabled.", + "operationId": "Campaigns_PostApi202301ExternalAccountCampaignsByAccountId", "parameters": [ { - "name": "campaign-id", + "name": "account-id", "in": "path", - "description": "The given campaign id", + "description": "The account to request the campaign for.", "required": true, "style": "simple", "schema": { @@ -2685,16 +2989,16 @@ } ], "requestBody": { - "description": "The line item settings to create a line item with", + "description": "Creatable campaign attributes", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AuctionLineItemCreateModelRequest" + "$ref": "#/components/schemas/PostCampaignV202301" } } }, "x-nullable": false, - "x-bodyName": "lineItem" + "x-bodyName": "campaign" }, "responses": { "201": { @@ -2702,17 +3006,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AuctionLineItemResponse" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AuctionLineItemResponse" + "$ref": "#/components/schemas/JsonApiSingleResponseOfCampaignV202301" } } } @@ -2720,18 +3014,18 @@ } } }, - "/2023-04/retail-media/campaigns/{campaign-id}/preferred-line-items": { + "/2024-07/retail-media/accounts/{account-id}/line-items": { "get": { "tags": [ "Campaign" ], - "description": "Gets page of preferred line item objects for the given campaign id", - "operationId": "LineItemsApi_GetApi202110ExternalCampaignPreferredLineItemsByCampaignId", + "description": "Gets page of line item objects for the given account id", + "operationId": "GetApiV2ExternalAccountLineItemsByAccountId", "parameters": [ { - "name": "campaign-id", + "name": "account-id", "in": "path", - "description": "The given campaign id", + "description": "The given account id", "required": true, "style": "simple", "schema": { @@ -2739,6 +3033,34 @@ }, "x-nullable": false }, + { + "name": "limitToCampaignId", + "in": "query", + "description": "The campaign ids that you would like to limit your result set to", + "style": "form", + "schema": { + "type": "array", + "items": { + "type": "string" + } + }, + "x-nullable": false + }, + { + "name": "limitToType", + "in": "query", + "description": "The campaign types that you would like to limit your result set to", + "style": "form", + "schema": { + "enum": [ + "Unknown", + "Auction", + "Preferred" + ], + "type": "string" + }, + "x-nullable": true + }, { "name": "limitToId", "in": "query", @@ -2781,7 +3103,41 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PreferredLineItem202110PagedListResponse" + "$ref": "#/components/schemas/CommonLineItemPagedListResponse" + } + } + } + } + } + } + }, + "/2024-07/retail-media/auction-line-items/{line-item-id}": { + "get": { + "tags": [ + "Campaign" + ], + "description": "Gets the auction line item for the given line item id", + "operationId": "GetApiV2ExternalAuctionLineItemByLineItemId", + "parameters": [ + { + "name": "line-item-id", + "in": "path", + "description": "The given line item id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + }, + "x-nullable": false + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AuctionLineItemResponse" } } } @@ -2791,24 +3147,24 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PreferredLineItem202110PagedListResponse" + "$ref": "#/components/schemas/AuctionLineItemResponse" } } } } } }, - "post": { + "put": { "tags": [ "Campaign" ], - "description": "Creates a new preferred line item with the specified settings", - "operationId": "LineItemsApi_PostApi202110ExternalCampaignPreferredLineItemsByCampaignId", + "description": "Updates the auction line item for the given line item id", + "operationId": "PutApiV2ExternalAuctionLineItemByLineItemId", "parameters": [ { - "name": "campaign-id", + "name": "line-item-id", "in": "path", - "description": "The given campaign id", + "description": "The given line item id", "required": true, "style": "simple", "schema": { @@ -2822,7 +3178,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PreferredLineItemCreateModel202110Request" + "$ref": "#/components/schemas/AuctionLineItemUpdateModelRequest" } } }, @@ -2830,12 +3186,12 @@ "x-bodyName": "lineItem" }, "responses": { - "201": { + "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PreferredLineItem202110Response" + "$ref": "#/components/schemas/AuctionLineItemResponse" } } } @@ -2845,7 +3201,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PreferredLineItem202110Response" + "$ref": "#/components/schemas/AuctionLineItemResponse" } } } @@ -2853,18 +3209,18 @@ } } }, - "/2023-04/retail-media/campaigns/{campaignId}": { + "/2024-07/retail-media/auction-line-items/{line-item-id}/targeting/keywords": { "get": { "tags": [ "Campaign" ], - "description": "Get all the editable and creatable campaign attributes including all types of budgets given the campaign id", - "operationId": "Campaigns_GetApi202301ExternalCampaignByCampaignId", + "description": "This endpoint gets the keyword target on the specified line item.", + "operationId": "TargetingApi_GetApi202110ExternalAuctionLineItemTargetingKeywordsByLineItemId", "parameters": [ { - "name": "campaignId", + "name": "line-item-id", "in": "path", - "description": "Campaign Id of the campaign detail", + "description": "The line item to interact with", "required": true, "style": "simple", "schema": { @@ -2879,24 +3235,36 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/JsonApiSingleResponseOfCampaignV202301" + "$ref": "#/components/schemas/KeywordTarget202110Response" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/KeywordTarget202110Response" } } } } } - }, - "put": { + } + }, + "/2024-07/retail-media/auction-line-items/{line-item-id}/targeting/keywords/append": { + "post": { "tags": [ "Campaign" ], - "description": "Edit a campaign for the given campaign id with a given editable attributes. This will return updated creatable and editable attributes of the campaign as the result of the operation. Pacing can be adjusted and affected by the status of the campaign and the days left on the campaign if auto daily pacing is enabled.", - "operationId": "Campaigns_PutApi202301ExternalCampaignByCampaignId", + "description": "This endpoint appends one or more keywords to targeting on the specified line item. The resulting state of the keyword target is returned.", + "operationId": "TargetingApi_PostApi202110ExternalAuctionLineItemTargetingKeywordsAppendByLineItemId", "parameters": [ { - "name": "campaignId", + "name": "line-item-id", "in": "path", - "description": "Campaign Id of the updating campaign", + "description": "The line item to interact with", "required": true, "style": "simple", "schema": { @@ -2906,16 +3274,16 @@ } ], "requestBody": { - "description": "Editable campaign attributes", + "description": "", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PutCampaignV202301" + "$ref": "#/components/schemas/KeywordTarget202110Request" } } }, "x-nullable": false, - "x-bodyName": "campaign" + "x-bodyName": "keywordsToAppend" }, "responses": { "200": { @@ -2923,7 +3291,17 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/JsonApiSingleResponseOfCampaignV202301" + "$ref": "#/components/schemas/KeywordTarget202110Response" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/KeywordTarget202110Response" } } } @@ -2931,18 +3309,18 @@ } } }, - "/2023-04/retail-media/line-items/{line-item-id}": { - "get": { + "/2024-07/retail-media/auction-line-items/{line-item-id}/targeting/keywords/delete": { + "post": { "tags": [ "Campaign" ], - "description": "Gets the line item for the given line item id", - "operationId": "GetApiV2ExternalLineItemByLineItemId", + "description": "This endpoint removes one or more keywords from targeting on the specified line item. The resulting state of the keyword target is returned.", + "operationId": "TargetingApi_PostApi202110ExternalAuctionLineItemTargetingKeywordsDeleteByLineItemId", "parameters": [ { "name": "line-item-id", "in": "path", - "description": "The given line item id", + "description": "The line item to interact with", "required": true, "style": "simple", "schema": { @@ -2951,13 +3329,35 @@ "x-nullable": false } ], + "requestBody": { + "description": "", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/KeywordTarget202110Request" + } + } + }, + "x-nullable": false, + "x-bodyName": "keywordsToRemove" + }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CommonLineItemResponse" + "$ref": "#/components/schemas/KeywordTarget202110Response" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/KeywordTarget202110Response" } } } @@ -2965,94 +3365,160 @@ } } }, - "/2023-04/retail-media/line-items/{line-item-id}/bid-multipliers": { + "/2024-07/retail-media/balances/{balance-id}/campaigns": { "get": { "tags": [ - "Campaign" + "Balance" ], - "description": "Get bid multipliers by line item", - "operationId": "LineItems_GetApi202301ExternalLineItemBidMultipliersByLineItemId", + "description": "Gets page of campaigns for the given balanceId", + "operationId": "BalancesApi_GetApi202110ExternalBalanceCampaignsByBalanceId", "parameters": [ { - "name": "line-item-id", + "name": "balance-id", "in": "path", - "description": "Long external id of the associated line item", + "description": "The balance to get campaigns from", "required": true, "style": "simple", "schema": { "type": "string" - } + }, + "x-nullable": false + }, + { + "name": "limitToId", + "in": "query", + "description": "The ids that you would like to limit your result set to", + "style": "form", + "schema": { + "type": "array", + "items": { + "type": "string" + } + }, + "x-nullable": false + }, + { + "name": "pageIndex", + "in": "query", + "description": "The 0 indexed page index you would like to receive given the page size", + "style": "form", + "schema": { + "type": "integer", + "format": "int32" + }, + "x-nullable": false + }, + { + "name": "pageSize", + "in": "query", + "description": "The maximum number of items you would like to receive in this request", + "style": "form", + "schema": { + "type": "integer", + "format": "int32" + }, + "x-nullable": false } ], "responses": { "200": { "description": "Success", "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/JsonApiSingleResponseOfLineItemBidMultipliers" - } - }, "application/json": { "schema": { - "$ref": "#/components/schemas/JsonApiSingleResponseOfLineItemBidMultipliers" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/JsonApiSingleResponseOfLineItemBidMultipliers" + "$ref": "#/components/schemas/BalanceCampaign202110PagedListResponse" } } } } } - }, - "put": { + } + }, + "/2024-07/retail-media/balances/{balance-id}/campaigns/append": { + "post": { "tags": [ "Campaign" ], - "description": "Replace bid multipliers on a line item", - "operationId": "LineItems_PutApi202301ExternalLineItemBidMultipliersByLineItemId", + "description": "appends one or more campaigns to the specified balance", + "operationId": "BalancesApi_PostApi202110ExternalBalanceCampaignsAppendByBalanceId", "parameters": [ { - "name": "line-item-id", + "name": "balance-id", "in": "path", - "description": "Long external id of the associated line item", + "description": "The balance to add campaigns from", "required": true, "style": "simple", "schema": { "type": "string" - } + }, + "x-nullable": false } ], "requestBody": { + "description": "The campaigns to append", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/LineItemBidMultipliersRequest" + "$ref": "#/components/schemas/BalanceCampaign202110ListRequest" } } }, "x-nullable": false, - "x-bodyName": "request" + "x-bodyName": "campaigns" }, "responses": { "200": { "description": "Success", "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/LineItemBidMultipliersResponse" - } - }, "application/json": { "schema": { - "$ref": "#/components/schemas/LineItemBidMultipliersResponse" + "$ref": "#/components/schemas/BalanceCampaign202110PagedListResponse" } - }, - "text/json": { + } + } + } + } + } + }, + "/2024-07/retail-media/balances/{balance-id}/campaigns/delete": { + "post": { + "tags": [ + "Campaign" + ], + "description": "Removes one or more campaigns on the specified balance", + "operationId": "BalancesApi_PostApi202110ExternalBalanceCampaignsDeleteByBalanceId", + "parameters": [ + { + "name": "balance-id", + "in": "path", + "description": "The balance to remove campaigns from", + "required": true, + "style": "simple", + "schema": { + "type": "string" + }, + "x-nullable": false + } + ], + "requestBody": { + "description": "The campaigns to append", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BalanceCampaign202110ListRequest" + } + } + }, + "x-nullable": false, + "x-bodyName": "campaigns" + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { "schema": { - "$ref": "#/components/schemas/LineItemBidMultipliersResponse" + "$ref": "#/components/schemas/BalanceCampaign202110PagedListResponse" } } } @@ -3060,18 +3526,18 @@ } } }, - "/2023-04/retail-media/line-items/{line-item-id}/products": { + "/2024-07/retail-media/campaigns/{campaign-id}/auction-line-items": { "get": { "tags": [ "Campaign" ], - "description": "This endpoint gets the promoted products on the specified line item.", - "operationId": "PromotedProductsApi_GetApi202110ExternalLineItemProductsByLineItemId", + "description": "Gets page of auction line item objects for the given campaign id", + "operationId": "GetApiV2ExternalCampaignAuctionLineItemsByCampaignId", "parameters": [ { - "name": "line-item-id", + "name": "campaign-id", "in": "path", - "description": "The line item to interact with", + "description": "The given campaign id", "required": true, "style": "simple", "schema": { @@ -3121,26 +3587,34 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PromotedProduct202110PagedListResponse" + "$ref": "#/components/schemas/AuctionLineItemPagedListResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AuctionLineItemPagedListResponse" } } } } } - } - }, - "/2023-04/retail-media/line-items/{line-item-id}/products/append": { + }, "post": { "tags": [ "Campaign" ], - "description": "This endpoint appends one or more products to promote on the specified line item. The resulting state of the line item is returned.", - "operationId": "PromotedProductsApi_PostApi202110ExternalLineItemProductsAppendByLineItemId", + "description": "Creates new auction line item with the specified settings", + "operationId": "PostApiV2ExternalCampaignAuctionLineItemsByCampaignId", "parameters": [ { - "name": "line-item-id", + "name": "campaign-id", "in": "path", - "description": "The line item to interact with", + "description": "The given campaign id", "required": true, "style": "simple", "schema": { @@ -3150,24 +3624,34 @@ } ], "requestBody": { - "description": "the products to append to this line item", + "description": "The line item settings to create a line item with", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PromotedProduct202110ListRequest" + "$ref": "#/components/schemas/AuctionLineItemCreateModelRequest" } } }, "x-nullable": false, - "x-bodyName": "promotedProductsToAppend" + "x-bodyName": "lineItem" }, "responses": { - "200": { + "201": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PromotedProduct202110PagedListResponse" + "$ref": "#/components/schemas/AuctionLineItemResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AuctionLineItemResponse" } } } @@ -3175,64 +3659,95 @@ } } }, - "/2023-04/retail-media/line-items/{line-item-id}/products/delete": { - "post": { + "/2024-07/retail-media/campaigns/{campaign-id}/preferred-line-items": { + "get": { "tags": [ "Campaign" ], - "description": "This endpoint removes one or more products from promotion on the specified line item. The resulting state of the line item is returned.", - "operationId": "PromotedProductsApi_PostApi202110ExternalLineItemProductsDeleteByLineItemId", + "description": "Gets page of preferred line item objects for the given campaign id", + "operationId": "LineItemsApi_GetApi202110ExternalCampaignPreferredLineItemsByCampaignId", "parameters": [ { - "name": "line-item-id", + "name": "campaign-id", "in": "path", - "description": "The line item to interact with", + "description": "The given campaign id", "required": true, "style": "simple", "schema": { "type": "string" }, "x-nullable": false - } - ], - "requestBody": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PromotedProduct202110ListRequest" + }, + { + "name": "limitToId", + "in": "query", + "description": "The ids that you would like to limit your result set to", + "style": "form", + "schema": { + "type": "array", + "items": { + "type": "string" } - } + }, + "x-nullable": false }, - "x-nullable": false, - "x-bodyName": "promotedProductsToRemove" - }, + { + "name": "pageIndex", + "in": "query", + "description": "The 0 indexed page index you would like to receive given the page size", + "style": "form", + "schema": { + "type": "integer", + "format": "int32" + }, + "x-nullable": false + }, + { + "name": "pageSize", + "in": "query", + "description": "The maximum number of items you would like to receive in this request", + "style": "form", + "schema": { + "type": "integer", + "format": "int32" + }, + "x-nullable": false + } + ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PromotedProduct202110PagedListResponse" + "$ref": "#/components/schemas/PreferredLineItem202110PagedListResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PreferredLineItem202110PagedListResponse" } } } } } - } - }, - "/2023-04/retail-media/line-items/{line-item-id}/products/pause": { + }, "post": { "tags": [ "Campaign" ], - "description": "This endpoint pauses one or more promoted products on a specified line item.", - "operationId": "PromotedProducts_PostApi202110ExternalLineItemProductsPauseByLineItemId", + "description": "Creates a new preferred line item with the specified settings", + "operationId": "LineItemsApi_PostApi202110ExternalCampaignPreferredLineItemsByCampaignId", "parameters": [ { - "name": "line-item-id", + "name": "campaign-id", "in": "path", - "description": "The line item to interact with.", + "description": "The given campaign id", "required": true, "style": "simple", "schema": { @@ -3242,36 +3757,53 @@ } ], "requestBody": { - "description": "The products from which their IDs will be used to pause.", + "description": "The line item settings to create a line item with", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PromotedProduct202110ListRequest" + "$ref": "#/components/schemas/PreferredLineItemCreateModel202110Request" } } }, "x-nullable": false, - "x-bodyName": "promotedProductsToPause" + "x-bodyName": "lineItem" }, "responses": { - "200": { - "description": "Success" + "201": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PreferredLineItem202110Response" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PreferredLineItem202110Response" + } + } + } } } } }, - "/2023-04/retail-media/line-items/{line-item-id}/products/unpause": { - "post": { + "/2024-07/retail-media/campaigns/{campaignId}": { + "get": { "tags": [ "Campaign" ], - "description": "This endpoint unpauses one or more promoted products on a specified line item.", - "operationId": "PromotedProducts_PostApi202110ExternalLineItemProductsUnpauseByLineItemId", + "description": "Get all the editable and creatable campaign attributes including all types of budgets given the campaign id", + "operationId": "Campaigns_GetApi202301ExternalCampaignByCampaignId", "parameters": [ { - "name": "line-item-id", + "name": "campaignId", "in": "path", - "description": "The line item to interact with.", + "description": "Campaign Id of the campaign detail", "required": true, "style": "simple", "schema": { @@ -3280,37 +3812,30 @@ "x-nullable": false } ], - "requestBody": { - "description": "The products from which their IDs will be used to unpause.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PromotedProduct202110ListRequest" - } - } - }, - "x-nullable": false, - "x-bodyName": "promotedProductsToUnpause" - }, "responses": { "200": { - "description": "Success" - } - } - } - }, - "/2023-04/retail-media/preferred-line-items/{line-item-id}": { - "get": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/JsonApiSingleResponseOfCampaignV202301" + } + } + } + } + } + }, + "put": { "tags": [ "Campaign" ], - "description": "Gets the preferred line item for the given line item id", - "operationId": "LineItemsApi_GetApi202110ExternalPreferredLineItemByLineItemId", + "description": "Edit a campaign for the given campaign id with a given editable attributes. This will return updated creatable and editable attributes of the campaign as the result of the operation. Pacing can be adjusted and affected by the status of the campaign and the days left on the campaign if auto daily pacing is enabled.", + "operationId": "Campaigns_PutApi202301ExternalCampaignByCampaignId", "parameters": [ { - "name": "line-item-id", + "name": "campaignId", "in": "path", - "description": "The given line item id", + "description": "Campaign Id of the updating campaign", "required": true, "style": "simple", "schema": { @@ -3319,35 +3844,39 @@ "x-nullable": false } ], - "responses": { - "200": { - "description": "Success", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PreferredLineItem202110Response" - } + "requestBody": { + "description": "Editable campaign attributes", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PutCampaignV202301" } } }, - "400": { - "description": "Bad Request", + "x-nullable": false, + "x-bodyName": "campaign" + }, + "responses": { + "200": { + "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PreferredLineItem202110Response" + "$ref": "#/components/schemas/JsonApiSingleResponseOfCampaignV202301" } } } } } - }, - "put": { + } + }, + "/2024-07/retail-media/line-items/{line-item-id}": { + "get": { "tags": [ "Campaign" ], - "description": "Updates the preferred line item for the given line item id", - "operationId": "LineItemsApi_PutApi202110ExternalPreferredLineItemByLineItemId", + "description": "Gets the line item for the given line item id", + "operationId": "GetApiV2ExternalLineItemByLineItemId", "parameters": [ { "name": "line-item-id", @@ -3361,35 +3890,13 @@ "x-nullable": false } ], - "requestBody": { - "description": "The line item settings to create a line item with", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PreferredLineItemUpdateModel202110Request" - } - } - }, - "x-nullable": false, - "x-bodyName": "lineItem" - }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PreferredLineItem202110Response" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PreferredLineItem202110Response" + "$ref": "#/components/schemas/CommonLineItemResponse" } } } @@ -3397,43 +3904,42 @@ } } }, - "/2023-04/retail-media/preferred-line-items/{line-item-id}/targeting/add-to-basket": { + "/2024-07/retail-media/line-items/{line-item-id}/bid-multipliers": { "get": { "tags": [ "Campaign" ], - "description": "This endpoint gets the add to basket target on the specified line item.", - "operationId": "TargetingApi_GetApi202110ExternalPreferredLineItemTargetingAddToBasketByLineItemId", + "description": "Get bid multipliers by line item", + "operationId": "LineItems_GetApi202301ExternalLineItemBidMultipliersByLineItemId", "parameters": [ { "name": "line-item-id", "in": "path", - "description": "The line item to interact with", + "description": "Long external id of the associated line item", "required": true, "style": "simple", "schema": { "type": "string" - }, - "x-nullable": false + } } ], "responses": { "200": { "description": "Success", "content": { - "application/json": { + "text/plain": { "schema": { - "$ref": "#/components/schemas/AddToBasketTarget202110Response" + "$ref": "#/components/schemas/JsonApiSingleResponseOfLineItemBidMultipliers" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { + }, "application/json": { "schema": { - "$ref": "#/components/schemas/AddToBasketTarget202110Response" + "$ref": "#/components/schemas/JsonApiSingleResponseOfLineItemBidMultipliers" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/JsonApiSingleResponseOfLineItemBidMultipliers" } } } @@ -3444,50 +3950,117 @@ "tags": [ "Campaign" ], - "description": "This endpoint sets the scope of the add to basket target on the specified line item.", - "operationId": "TargetingApi_PutApi202110ExternalPreferredLineItemTargetingAddToBasketByLineItemId", + "description": "Replace bid multipliers on a line item", + "operationId": "LineItems_PutApi202301ExternalLineItemBidMultipliersByLineItemId", "parameters": [ { "name": "line-item-id", "in": "path", - "description": "The line item to interact with", + "description": "Long external id of the associated line item", "required": true, "style": "simple", "schema": { "type": "string" - }, - "x-nullable": false + } } ], "requestBody": { - "description": "The add to basket target to set the scope for", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AddToBasketTarget202110Request" + "$ref": "#/components/schemas/LineItemBidMultipliersRequest" } } }, "x-nullable": false, - "x-bodyName": "addToBasketTarget" + "x-bodyName": "request" }, "responses": { "200": { "description": "Success", "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/LineItemBidMultipliersResponse" + } + }, "application/json": { "schema": { - "$ref": "#/components/schemas/AddToBasketTarget202110Response" + "$ref": "#/components/schemas/LineItemBidMultipliersResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/LineItemBidMultipliersResponse" } } } + } + } + } + }, + "/2024-07/retail-media/line-items/{line-item-id}/products": { + "get": { + "tags": [ + "Campaign" + ], + "description": "This endpoint gets the promoted products on the specified line item.", + "operationId": "PromotedProductsApi_GetApi202110ExternalLineItemProductsByLineItemId", + "parameters": [ + { + "name": "line-item-id", + "in": "path", + "description": "The line item to interact with", + "required": true, + "style": "simple", + "schema": { + "type": "string" + }, + "x-nullable": false }, - "400": { - "description": "Bad Request", + { + "name": "limitToId", + "in": "query", + "description": "The ids that you would like to limit your result set to", + "style": "form", + "schema": { + "type": "array", + "items": { + "type": "string" + } + }, + "x-nullable": false + }, + { + "name": "pageIndex", + "in": "query", + "description": "The 0 indexed page index you would like to receive given the page size", + "style": "form", + "schema": { + "type": "integer", + "format": "int32" + }, + "x-nullable": false + }, + { + "name": "pageSize", + "in": "query", + "description": "The maximum number of items you would like to receive in this request", + "style": "form", + "schema": { + "type": "integer", + "format": "int32" + }, + "x-nullable": false + } + ], + "responses": { + "200": { + "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AddToBasketTarget202110Response" + "$ref": "#/components/schemas/PromotedProduct202110PagedListResponse" } } } @@ -3495,13 +4068,13 @@ } } }, - "/2023-04/retail-media/preferred-line-items/{line-item-id}/targeting/add-to-basket/append": { + "/2024-07/retail-media/line-items/{line-item-id}/products/append": { "post": { "tags": [ "Campaign" ], - "description": "This endpoint appends one or more add to basket ids to targeting on the specified line item. The resulting state of the add to basket target is returned.", - "operationId": "TargetingApi_PostApi202110ExternalPreferredLineItemTargetingAddToBasketAppendByLineItemId", + "description": "This endpoint appends one or more products to promote on the specified line item. The resulting state of the line item is returned.", + "operationId": "PromotedProductsApi_PostApi202110ExternalLineItemProductsAppendByLineItemId", "parameters": [ { "name": "line-item-id", @@ -3516,16 +4089,16 @@ } ], "requestBody": { - "description": "Ids to append to the target", + "description": "the products to append to this line item", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AddToBasketIdsUpdateModel202110Request" + "$ref": "#/components/schemas/PromotedProduct202110ListRequest" } } }, "x-nullable": false, - "x-bodyName": "idsToAppend" + "x-bodyName": "promotedProductsToAppend" }, "responses": { "200": { @@ -3533,17 +4106,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AddToBasketTarget202110Response" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AddToBasketTarget202110Response" + "$ref": "#/components/schemas/PromotedProduct202110PagedListResponse" } } } @@ -3551,13 +4114,13 @@ } } }, - "/2023-04/retail-media/preferred-line-items/{line-item-id}/targeting/add-to-basket/delete": { + "/2024-07/retail-media/line-items/{line-item-id}/products/delete": { "post": { "tags": [ "Campaign" ], - "description": "This endpoint removes one or more add to basket ids from targeting on the specified line item. The resulting state of the add to basket target is returned.", - "operationId": "TargetingApi_PostApi202110ExternalPreferredLineItemTargetingAddToBasketDeleteByLineItemId", + "description": "This endpoint removes one or more products from promotion on the specified line item. The resulting state of the line item is returned.", + "operationId": "PromotedProductsApi_PostApi202110ExternalLineItemProductsDeleteByLineItemId", "parameters": [ { "name": "line-item-id", @@ -3572,16 +4135,16 @@ } ], "requestBody": { - "description": "Ids to remove from the target", + "description": "", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AddToBasketIdsUpdateModel202110Request" + "$ref": "#/components/schemas/PromotedProduct202110ListRequest" } } }, "x-nullable": false, - "x-bodyName": "idsToRemove" + "x-bodyName": "promotedProductsToRemove" }, "responses": { "200": { @@ -3589,17 +4152,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AddToBasketTarget202110Response" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AddToBasketTarget202110Response" + "$ref": "#/components/schemas/PromotedProduct202110PagedListResponse" } } } @@ -3607,18 +4160,18 @@ } } }, - "/2023-04/retail-media/preferred-line-items/{line-item-id}/targeting/audiences": { - "get": { + "/2024-07/retail-media/line-items/{line-item-id}/products/pause": { + "post": { "tags": [ "Campaign" ], - "description": "This endpoint gets the audience target on the specified line item.", - "operationId": "TargetingApi_GetApi202110ExternalPreferredLineItemTargetingAudiencesByLineItemId", + "description": "This endpoint pauses one or more promoted products on a specified line item.", + "operationId": "PromotedProducts_PostApi202110ExternalLineItemProductsPauseByLineItemId", "parameters": [ { "name": "line-item-id", "in": "path", - "description": "The line item to interact with", + "description": "The line item to interact with.", "required": true, "style": "simple", "schema": { @@ -3627,14 +4180,92 @@ "x-nullable": false } ], - "responses": { - "200": { - "description": "Success", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AudienceTarget202110Response" - } + "requestBody": { + "description": "The products from which their IDs will be used to pause.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PromotedProduct202110ListRequest" + } + } + }, + "x-nullable": false, + "x-bodyName": "promotedProductsToPause" + }, + "responses": { + "200": { + "description": "Success" + } + } + } + }, + "/2024-07/retail-media/line-items/{line-item-id}/products/unpause": { + "post": { + "tags": [ + "Campaign" + ], + "description": "This endpoint unpauses one or more promoted products on a specified line item.", + "operationId": "PromotedProducts_PostApi202110ExternalLineItemProductsUnpauseByLineItemId", + "parameters": [ + { + "name": "line-item-id", + "in": "path", + "description": "The line item to interact with.", + "required": true, + "style": "simple", + "schema": { + "type": "string" + }, + "x-nullable": false + } + ], + "requestBody": { + "description": "The products from which their IDs will be used to unpause.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PromotedProduct202110ListRequest" + } + } + }, + "x-nullable": false, + "x-bodyName": "promotedProductsToUnpause" + }, + "responses": { + "200": { + "description": "Success" + } + } + } + }, + "/2024-07/retail-media/preferred-line-items/{line-item-id}": { + "get": { + "tags": [ + "Campaign" + ], + "description": "Gets the preferred line item for the given line item id", + "operationId": "LineItemsApi_GetApi202110ExternalPreferredLineItemByLineItemId", + "parameters": [ + { + "name": "line-item-id", + "in": "path", + "description": "The given line item id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + }, + "x-nullable": false + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PreferredLineItem202110Response" + } } } }, @@ -3643,7 +4274,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AudienceTarget202110Response" + "$ref": "#/components/schemas/PreferredLineItem202110Response" } } } @@ -3654,13 +4285,13 @@ "tags": [ "Campaign" ], - "description": "This endpoint sets the scope of the audience target on the specified line item.", - "operationId": "TargetingApi_PutApi202110ExternalPreferredLineItemTargetingAudiencesByLineItemId", + "description": "Updates the preferred line item for the given line item id", + "operationId": "LineItemsApi_PutApi202110ExternalPreferredLineItemByLineItemId", "parameters": [ { "name": "line-item-id", "in": "path", - "description": "The line item to interact with", + "description": "The given line item id", "required": true, "style": "simple", "schema": { @@ -3670,16 +4301,16 @@ } ], "requestBody": { - "description": "The audience target to set the scope for", + "description": "The line item settings to create a line item with", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AudienceTarget202110Request" + "$ref": "#/components/schemas/PreferredLineItemUpdateModel202110Request" } } }, "x-nullable": false, - "x-bodyName": "audienceTarget" + "x-bodyName": "lineItem" }, "responses": { "200": { @@ -3687,7 +4318,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AudienceTarget202110Response" + "$ref": "#/components/schemas/PreferredLineItem202110Response" } } } @@ -3697,7 +4328,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AudienceTarget202110Response" + "$ref": "#/components/schemas/PreferredLineItem202110Response" } } } @@ -3705,13 +4336,55 @@ } } }, - "/2023-04/retail-media/preferred-line-items/{line-item-id}/targeting/audiences/append": { - "post": { + "/2024-07/retail-media/preferred-line-items/{line-item-id}/targeting/add-to-basket": { + "get": { "tags": [ "Campaign" ], - "description": "This endpoint appends one or more audiences ids to targeting on the specified line item. The resulting state of the audience target is returned.", - "operationId": "TargetingApi_PostApi202110ExternalPreferredLineItemTargetingAudiencesAppendByLineItemId", + "description": "This endpoint gets the add to basket target on the specified line item.", + "operationId": "TargetingApi_GetApi202110ExternalPreferredLineItemTargetingAddToBasketByLineItemId", + "parameters": [ + { + "name": "line-item-id", + "in": "path", + "description": "The line item to interact with", + "required": true, + "style": "simple", + "schema": { + "type": "string" + }, + "x-nullable": false + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AddToBasketTarget202110Response" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AddToBasketTarget202110Response" + } + } + } + } + } + }, + "put": { + "tags": [ + "Campaign" + ], + "description": "This endpoint sets the scope of the add to basket target on the specified line item.", + "operationId": "TargetingApi_PutApi202110ExternalPreferredLineItemTargetingAddToBasketByLineItemId", "parameters": [ { "name": "line-item-id", @@ -3726,16 +4399,16 @@ } ], "requestBody": { - "description": "Audience ids to append to the target", + "description": "The add to basket target to set the scope for", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AudienceIdsUpdateModel202110Request" + "$ref": "#/components/schemas/AddToBasketTarget202110Request" } } }, "x-nullable": false, - "x-bodyName": "idsToAppend" + "x-bodyName": "addToBasketTarget" }, "responses": { "200": { @@ -3743,7 +4416,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AudienceTarget202110Response" + "$ref": "#/components/schemas/AddToBasketTarget202110Response" } } } @@ -3753,7 +4426,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AudienceTarget202110Response" + "$ref": "#/components/schemas/AddToBasketTarget202110Response" } } } @@ -3761,13 +4434,13 @@ } } }, - "/2023-04/retail-media/preferred-line-items/{line-item-id}/targeting/audiences/delete": { + "/2024-07/retail-media/preferred-line-items/{line-item-id}/targeting/add-to-basket/append": { "post": { "tags": [ "Campaign" ], - "description": "This endpoint removes one or more audiences ids from targeting on the specified line item. The resulting state of the audience target is returned.", - "operationId": "TargetingApi_PostApi202110ExternalPreferredLineItemTargetingAudiencesDeleteByLineItemId", + "description": "This endpoint appends one or more add to basket ids to targeting on the specified line item. The resulting state of the add to basket target is returned.", + "operationId": "TargetingApi_PostApi202110ExternalPreferredLineItemTargetingAddToBasketAppendByLineItemId", "parameters": [ { "name": "line-item-id", @@ -3782,16 +4455,16 @@ } ], "requestBody": { - "description": "Audience ids to remove from the target", + "description": "Ids to append to the target", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AudienceIdsUpdateModel202110Request" + "$ref": "#/components/schemas/AddToBasketIdsUpdateModel202110Request" } } }, "x-nullable": false, - "x-bodyName": "idsToRemove" + "x-bodyName": "idsToAppend" }, "responses": { "200": { @@ -3799,7 +4472,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AudienceTarget202110Response" + "$ref": "#/components/schemas/AddToBasketTarget202110Response" } } } @@ -3809,7 +4482,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AudienceTarget202110Response" + "$ref": "#/components/schemas/AddToBasketTarget202110Response" } } } @@ -3817,13 +4490,13 @@ } } }, - "/2023-04/retail-media/preferred-line-items/{line-item-id}/targeting/stores": { - "get": { + "/2024-07/retail-media/preferred-line-items/{line-item-id}/targeting/add-to-basket/delete": { + "post": { "tags": [ "Campaign" ], - "description": "This endpoint gets the store target on the specified line item.", - "operationId": "TargetingApi_GetApi202110ExternalPreferredLineItemTargetingStoresByLineItemId", + "description": "This endpoint removes one or more add to basket ids from targeting on the specified line item. The resulting state of the add to basket target is returned.", + "operationId": "TargetingApi_PostApi202110ExternalPreferredLineItemTargetingAddToBasketDeleteByLineItemId", "parameters": [ { "name": "line-item-id", @@ -3837,13 +4510,25 @@ "x-nullable": false } ], + "requestBody": { + "description": "Ids to remove from the target", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AddToBasketIdsUpdateModel202110Request" + } + } + }, + "x-nullable": false, + "x-bodyName": "idsToRemove" + }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/StoreTarget202110Response" + "$ref": "#/components/schemas/AddToBasketTarget202110Response" } } } @@ -3853,19 +4538,21 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/StoreTarget202110Response" + "$ref": "#/components/schemas/AddToBasketTarget202110Response" } } } } } - }, - "put": { + } + }, + "/2024-07/retail-media/preferred-line-items/{line-item-id}/targeting/audiences": { + "get": { "tags": [ "Campaign" ], - "description": "This endpoint sets the scope of the store target on the specified line item.", - "operationId": "TargetingApi_PutApi202110ExternalPreferredLineItemTargetingStoresByLineItemId", + "description": "This endpoint gets the audience target on the specified line item.", + "operationId": "TargetingApi_GetApi202110ExternalPreferredLineItemTargetingAudiencesByLineItemId", "parameters": [ { "name": "line-item-id", @@ -3879,25 +4566,13 @@ "x-nullable": false } ], - "requestBody": { - "description": "The store target to set the scope for", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/StoreTarget202110Request" - } - } - }, - "x-nullable": false, - "x-bodyName": "storeTarget" - }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/StoreTarget202110Response" + "$ref": "#/components/schemas/AudienceTarget202110Response" } } } @@ -3907,21 +4582,19 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/StoreTarget202110Response" + "$ref": "#/components/schemas/AudienceTarget202110Response" } } } } } - } - }, - "/2023-04/retail-media/preferred-line-items/{line-item-id}/targeting/stores/append": { - "post": { + }, + "put": { "tags": [ "Campaign" ], - "description": "This endpoint appends one or more store ids to targeting on the specified line item. The resulting state of the store target is returned.", - "operationId": "TargetingApi_PostApi202110ExternalPreferredLineItemTargetingStoresAppendByLineItemId", + "description": "This endpoint sets the scope of the audience target on the specified line item.", + "operationId": "TargetingApi_PutApi202110ExternalPreferredLineItemTargetingAudiencesByLineItemId", "parameters": [ { "name": "line-item-id", @@ -3936,16 +4609,16 @@ } ], "requestBody": { - "description": "Store ids to append to the target", + "description": "The audience target to set the scope for", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/StoreIdsUpdateModel202110Request" + "$ref": "#/components/schemas/AudienceTarget202110Request" } } }, "x-nullable": false, - "x-bodyName": "idsToAppend" + "x-bodyName": "audienceTarget" }, "responses": { "200": { @@ -3953,7 +4626,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/StoreTarget202110Response" + "$ref": "#/components/schemas/AudienceTarget202110Response" } } } @@ -3963,7 +4636,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/StoreTarget202110Response" + "$ref": "#/components/schemas/AudienceTarget202110Response" } } } @@ -3971,13 +4644,13 @@ } } }, - "/2023-04/retail-media/preferred-line-items/{line-item-id}/targeting/stores/delete": { + "/2024-07/retail-media/preferred-line-items/{line-item-id}/targeting/audiences/append": { "post": { "tags": [ "Campaign" ], - "description": "This endpoint removes one or more store ids from targeting on the specified line item. The resulting state of the store target is returned.", - "operationId": "TargetingApi_PostApi202110ExternalPreferredLineItemTargetingStoresDeleteByLineItemId", + "description": "This endpoint appends one or more audiences ids to targeting on the specified line item. The resulting state of the audience target is returned.", + "operationId": "TargetingApi_PostApi202110ExternalPreferredLineItemTargetingAudiencesAppendByLineItemId", "parameters": [ { "name": "line-item-id", @@ -3992,16 +4665,16 @@ } ], "requestBody": { - "description": "Store ids to remove from the target", + "description": "Audience ids to append to the target", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/StoreIdsUpdateModel202110Request" + "$ref": "#/components/schemas/AudienceIdsUpdateModel202110Request" } } }, "x-nullable": false, - "x-bodyName": "idsToRemove" + "x-bodyName": "idsToAppend" }, "responses": { "200": { @@ -4009,7 +4682,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/StoreTarget202110Response" + "$ref": "#/components/schemas/AudienceTarget202110Response" } } } @@ -4019,22 +4692,851 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/StoreTarget202110Response" + "$ref": "#/components/schemas/AudienceTarget202110Response" } } } } } } - } - }, + }, + "/2024-07/retail-media/preferred-line-items/{line-item-id}/targeting/audiences/delete": { + "post": { + "tags": [ + "Campaign" + ], + "description": "This endpoint removes one or more audiences ids from targeting on the specified line item. The resulting state of the audience target is returned.", + "operationId": "TargetingApi_PostApi202110ExternalPreferredLineItemTargetingAudiencesDeleteByLineItemId", + "parameters": [ + { + "name": "line-item-id", + "in": "path", + "description": "The line item to interact with", + "required": true, + "style": "simple", + "schema": { + "type": "string" + }, + "x-nullable": false + } + ], + "requestBody": { + "description": "Audience ids to remove from the target", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AudienceIdsUpdateModel202110Request" + } + } + }, + "x-nullable": false, + "x-bodyName": "idsToRemove" + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AudienceTarget202110Response" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AudienceTarget202110Response" + } + } + } + } + } + } + }, + "/2024-07/retail-media/preferred-line-items/{line-item-id}/targeting/stores": { + "get": { + "tags": [ + "Campaign" + ], + "description": "This endpoint gets the store target on the specified line item.", + "operationId": "TargetingApi_GetApi202110ExternalPreferredLineItemTargetingStoresByLineItemId", + "parameters": [ + { + "name": "line-item-id", + "in": "path", + "description": "The line item to interact with", + "required": true, + "style": "simple", + "schema": { + "type": "string" + }, + "x-nullable": false + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/StoreTarget202110Response" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/StoreTarget202110Response" + } + } + } + } + } + }, + "put": { + "tags": [ + "Campaign" + ], + "description": "This endpoint sets the scope of the store target on the specified line item.", + "operationId": "TargetingApi_PutApi202110ExternalPreferredLineItemTargetingStoresByLineItemId", + "parameters": [ + { + "name": "line-item-id", + "in": "path", + "description": "The line item to interact with", + "required": true, + "style": "simple", + "schema": { + "type": "string" + }, + "x-nullable": false + } + ], + "requestBody": { + "description": "The store target to set the scope for", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/StoreTarget202110Request" + } + } + }, + "x-nullable": false, + "x-bodyName": "storeTarget" + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/StoreTarget202110Response" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/StoreTarget202110Response" + } + } + } + } + } + } + }, + "/2024-07/retail-media/preferred-line-items/{line-item-id}/targeting/stores/append": { + "post": { + "tags": [ + "Campaign" + ], + "description": "This endpoint appends one or more store ids to targeting on the specified line item. The resulting state of the store target is returned.", + "operationId": "TargetingApi_PostApi202110ExternalPreferredLineItemTargetingStoresAppendByLineItemId", + "parameters": [ + { + "name": "line-item-id", + "in": "path", + "description": "The line item to interact with", + "required": true, + "style": "simple", + "schema": { + "type": "string" + }, + "x-nullable": false + } + ], + "requestBody": { + "description": "Store ids to append to the target", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/StoreIdsUpdateModel202110Request" + } + } + }, + "x-nullable": false, + "x-bodyName": "idsToAppend" + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/StoreTarget202110Response" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/StoreTarget202110Response" + } + } + } + } + } + } + }, + "/2024-07/retail-media/preferred-line-items/{line-item-id}/targeting/stores/delete": { + "post": { + "tags": [ + "Campaign" + ], + "description": "This endpoint removes one or more store ids from targeting on the specified line item. The resulting state of the store target is returned.", + "operationId": "TargetingApi_PostApi202110ExternalPreferredLineItemTargetingStoresDeleteByLineItemId", + "parameters": [ + { + "name": "line-item-id", + "in": "path", + "description": "The line item to interact with", + "required": true, + "style": "simple", + "schema": { + "type": "string" + }, + "x-nullable": false + } + ], + "requestBody": { + "description": "Store ids to remove from the target", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/StoreIdsUpdateModel202110Request" + } + } + }, + "x-nullable": false, + "x-bodyName": "idsToRemove" + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/StoreTarget202110Response" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/StoreTarget202110Response" + } + } + } + } + } + } + } + }, "components": { "schemas": { "ApplicationSummaryModelResponse": { "type": "object", "properties": { "data": { - "$ref": "#/components/schemas/ApplicationSummaryModelResource" + "$ref": "#/components/schemas/ApplicationSummaryModelResource" + }, + "warnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true + } + }, + "description": "A top-level object that encapsulates a Criteo API response for a single value" + }, + "ApplicationSummaryModelResource": { + "type": "object", + "properties": { + "type": { + "type": "string", + "nullable": true + }, + "attributes": { + "$ref": "#/components/schemas/ApplicationSummaryModel" + } + }, + "description": "A top-level object that encapsulates a Criteo API response for a single value" + }, + "CommonProblem": { + "type": "object", + "properties": { + "traceId": { + "type": "string", + "description": "The request correlation ID this problem comes from.", + "nullable": true + }, + "traceIdentifier": { + "type": "string", + "description": "The request correlation ID this problem comes from. (deprecated, use traceId instead)", + "nullable": true + }, + "type": { + "enum": [ + "unknown", + "access-control", + "authentication", + "authorization", + "availability", + "deprecation", + "quota", + "validation" + ], + "type": "string", + "description": "The problem's category.", + "nullable": true + }, + "code": { + "type": "string", + "description": "A machine-readable error code, expressed as a string value.", + "nullable": true + }, + "instance": { + "type": "string", + "description": "A URI that identifies the specific occurrence of the problem.", + "nullable": true + }, + "title": { + "type": "string", + "description": "A short human-readable description of the problem type", + "nullable": true + }, + "detail": { + "type": "string", + "description": "A human-readable explanation specific to this occurrence of the problem", + "nullable": true + }, + "source": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A machine-readable structure to reference to the exact location(s) causing the error(s)", + "nullable": true + }, + "stackTrace": { + "type": "string", + "nullable": true + } + }, + "description": "Common problem object." + }, + "ApplicationSummaryModel": { + "type": "object", + "properties": { + "applicationId": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "name": { + "type": "string", + "nullable": true + }, + "organizationId": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "description": { + "type": "string", + "nullable": true + }, + "criteoService": { + "type": "string", + "nullable": true + } + }, + "description": "Used for the /me endpoint. Contains information about the currently authenticated application that we accept to give to our clients" + }, + "JsonApiPageResponseOfAccount": { + "required": [ + "metadata", + "data" + ], + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonError" + }, + "x-nullable": false + }, + "warnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonWarning" + }, + "x-nullable": false + }, + "metadata": { + "$ref": "#/components/schemas/PageMetadata" + }, + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/JsonApiBodyWithIdOfInt64AndAccountAndAccount" + }, + "x-nullable": false + } + }, + "description": "A wrapper class to return a single page of with metadata" + }, + "JsonApiPageResponseOfBrand": { + "required": [ + "metadata", + "data" + ], + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonError" + }, + "x-nullable": false + }, + "warnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonWarning" + }, + "x-nullable": false + }, + "metadata": { + "$ref": "#/components/schemas/PageMetadata" + }, + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/JsonApiBodyWithIdOfInt64AndBrandAndBrand" + }, + "x-nullable": false + } + }, + "description": "A wrapper class to return a single page of with metadata" + }, + "JsonApiPageResponseOfRetailer": { + "required": [ + "metadata", + "data" + ], + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonError" + }, + "x-nullable": false + }, + "warnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonWarning" + }, + "x-nullable": false + }, + "metadata": { + "$ref": "#/components/schemas/PageMetadata" + }, + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/JsonApiBodyWithIdOfInt64AndRetailerAndRetailer" + }, + "x-nullable": false + } + }, + "description": "A wrapper class to return a single page of with metadata" + }, + "PageMetadata": { + "required": [ + "currentPageSize", + "currentPageIndex" + ], + "type": "object", + "properties": { + "totalItemsAcrossAllPages": { + "type": "integer", + "format": "int64", + "nullable": true, + "x-nullable": true + }, + "currentPageSize": { + "type": "integer", + "format": "int32", + "x-nullable": false + }, + "currentPageIndex": { + "type": "integer", + "format": "int32", + "x-nullable": false + }, + "totalPages": { + "type": "integer", + "format": "int64", + "nullable": true, + "x-nullable": true + }, + "nextPage": { + "type": "string", + "x-nullable": false + }, + "previousPage": { + "type": "string", + "x-nullable": false + } + }, + "description": "Metadata related to the current request" + }, + "CommonError": { + "type": "object", + "properties": { + "traceId": { + "type": "string", + "description": "(REQUIRED) The Correlation ID provided by the Gateway. It is also a unique identifier for this particular occurrence of the problem.", + "x-nullable": false + }, + "type": { + "enum": [ + "unknown", + "access-control", + "authentication", + "authorization", + "availability", + "deprecation", + "quota", + "validation" + ], + "type": "string", + "description": "(REQUIRED) The classification of the error.", + "x-nullable": false + }, + "code": { + "type": "string", + "description": "(REQUIRED) A machine-readable unique error code, expressed as a string value. The format used must be kabab-case.", + "x-nullable": false + }, + "instance": { + "type": "string", + "description": "(REQUIRED) A URI reference that identifies the specific occurrence of the problem.", + "x-nullable": false + }, + "title": { + "type": "string", + "description": "(RECOMMENDED) A short, human-readable summary of the problem type.", + "x-nullable": false + }, + "detail": { + "type": "string", + "description": "(RECOMMENDED) A human-readable explanation specific to this occurrence of the problem.", + "x-nullable": false + }, + "source": { + "type": "object", + "additionalProperties": { + "type": "string", + "x-nullable": false + }, + "description": "(OPTIONAL) A machine-readable structure to reference to the exact location(s) causing the error(s)", + "x-nullable": false + }, + "stackTrace": { + "type": "string", + "description": "(NEVER IN PRODUCTION) A human-readable stacktrace produced by the implementation technology", + "x-nullable": false + } + }, + "description": "A JSON:API Common error structure" + }, + "CommonWarning": { + "type": "object", + "properties": { + "traceId": { + "type": "string", + "description": "(REQUIRED) The Correlation ID provided by the Gateway. It is also a unique identifier for this particular occurrence of the problem.", + "x-nullable": false + }, + "type": { + "enum": [ + "unknown", + "access-control", + "authentication", + "authorization", + "availability", + "deprecation", + "quota", + "validation" + ], + "type": "string", + "description": "(REQUIRED) The classification of the error.", + "x-nullable": false + }, + "code": { + "type": "string", + "description": "(REQUIRED) A machine-readable unique error code, expressed as a string value. The format used must be kabab-case.", + "x-nullable": false + }, + "instance": { + "type": "string", + "description": "(REQUIRED) A URI reference that identifies the specific occurrence of the problem.", + "x-nullable": false + }, + "title": { + "type": "string", + "description": "(RECOMMENDED) A short, human-readable summary of the problem type.", + "x-nullable": false + }, + "detail": { + "type": "string", + "description": "(RECOMMENDED) A human-readable explanation specific to this occurrence of the problem.", + "x-nullable": false + }, + "source": { + "type": "object", + "additionalProperties": { + "type": "string", + "x-nullable": false + }, + "description": "(OPTIONAL) A machine-readable structure to reference to the exact location(s) causing the error(s)", + "x-nullable": false + }, + "stackTrace": { + "type": "string", + "description": "(NEVER IN PRODUCTION) A human-readable stacktrace produced by the implementation technology", + "x-nullable": false + } + }, + "description": "A JSON:API Base common warning" + }, + "JsonApiBodyWithIdOfInt64AndAccountAndAccount": { + "required": [ + "id", + "type" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "long-id", + "x-nullable": false + }, + "type": { + "type": "string", + "x-nullable": false + }, + "attributes": { + "$ref": "#/components/schemas/ExternalAccount" + } + }, + "description": "A JSON:API wrapper class to format a with external Id, Type, and\r\nAttributes properties" + }, + "JsonApiBodyWithIdOfInt64AndBrandAndBrand": { + "required": [ + "id", + "type" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "long-id", + "x-nullable": false + }, + "type": { + "type": "string", + "x-nullable": false + }, + "attributes": { + "$ref": "#/components/schemas/ExternalBrand" + } + }, + "description": "A JSON:API wrapper class to format a with external Id, Type, and\r\nAttributes properties" + }, + "JsonApiBodyWithIdOfInt64AndRetailerAndRetailer": { + "required": [ + "id", + "type" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "long-id", + "x-nullable": false + }, + "type": { + "type": "string", + "x-nullable": false + }, + "attributes": { + "$ref": "#/components/schemas/ExternalRetailer" + } + }, + "description": "A JSON:API wrapper class to format a with external Id, Type, and\r\nAttributes properties" + }, + "ExternalAccount": { + "required": [ + "name", + "type", + "countries", + "currency", + "parentAccountLabel", + "timeZone" + ], + "type": "object", + "properties": { + "name": { + "maxLength": 510, + "minLength": 0, + "type": "string", + "x-nullable": false + }, + "type": { + "enum": [ + "unknown", + "supply", + "demand" + ], + "type": "string", + "x-nullable": false + }, + "subtype": { + "enum": [ + "unknown", + "brand", + "seller" + ], + "type": "string", + "nullable": true, + "x-nullable": true + }, + "countries": { + "type": "array", + "items": { + "type": "string" + }, + "x-nullable": false + }, + "currency": { + "type": "string", + "x-nullable": false + }, + "parentAccountLabel": { + "maxLength": 510, + "minLength": 0, + "type": "string", + "x-nullable": false + }, + "timeZone": { + "type": "string", + "x-nullable": false + }, + "companyName": { + "type": "string", + "nullable": true, + "x-nullable": true + } + }, + "description": "A Retail Media Account used to launch campaigns and line items" + }, + "ExternalBrand": { + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "maxLength": 120, + "minLength": 0, + "type": "string", + "x-nullable": false + } + }, + "description": "A Retail Media Brand used to represent a collection of products sold under the same umbrella name" + }, + "ExternalRetailer": { + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "maxLength": 100, + "type": "string", + "x-nullable": false + }, + "campaignEligibilities": { + "type": "array", + "items": { + "enum": [ + "unknown", + "auction", + "preferred" + ], + "type": "string" + }, + "x-nullable": false + } + }, + "description": "A Retail Media Retailer used to represent a selection of products from multiple brands" + }, + "AssetResponse": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/AssetResource" }, "warnings": { "uniqueItems": false, @@ -4055,1317 +5557,1439 @@ "readOnly": true } }, - "description": "Response of ApplicationSummaryModel" + "description": "A class implementing the response of the Criteo API as described in API Guild Guidelines with a single entity as body" }, - "ApplicationSummaryModelResource": { + "AssetResource": { "type": "object", "properties": { - "type": { - "type": "string", - "nullable": true - }, "attributes": { - "$ref": "#/components/schemas/ApplicationSummaryModel" - } - }, - "description": "A class that represents a ValueType in a guild compliant way" - }, - "CommonProblem": { - "type": "object", - "properties": { - "traceId": { - "type": "string", - "description": "The request correlation ID this problem comes from.", - "nullable": true + "$ref": "#/components/schemas/Asset" }, - "traceIdentifier": { + "id": { "type": "string", - "description": "The request correlation ID this problem comes from. (deprecated, use traceId instead)", "nullable": true }, "type": { - "enum": [ - "unknown", - "access-control", - "authentication", - "authorization", - "availability", - "deprecation", - "quota", - "validation" - ], - "type": "string", - "description": "The problem's category.", - "nullable": true - }, - "code": { - "type": "string", - "description": "A machine-readable error code, expressed as a string value.", - "nullable": true - }, - "instance": { - "type": "string", - "description": "A URI that identifies the specific occurrence of the problem.", - "nullable": true - }, - "title": { - "type": "string", - "description": "A short human-readable description of the problem type", - "nullable": true - }, - "detail": { - "type": "string", - "description": "A human-readable explanation specific to this occurrence of the problem", - "nullable": true - }, - "source": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "A machine-readable structure to reference to the exact location(s) causing the error(s)", - "nullable": true - }, - "stackTrace": { "type": "string", "nullable": true } }, - "description": "Common problem object. Can be specialized as needed." + "description": "A class that represents an entity in a guild compliant way" }, - "ApplicationSummaryModel": { + "Asset": { + "required": [ + "fileExtension" + ], "type": "object", "properties": { - "applicationId": { - "type": "integer", - "format": "int32", - "nullable": true - }, - "name": { + "fileExtension": { "type": "string", - "nullable": true - }, - "organizationId": { - "type": "integer", - "format": "int32", - "nullable": true + "description": "The file extension that is asset is representing. Example: jpg, png, gif or pdf." }, - "description": { + "fileLocation": { "type": "string", + "description": "A url pointing towards the static file the asset represents.", "nullable": true }, - "criteoService": { + "id": { "type": "string", "nullable": true } }, - "description": "Model of ApplicationSummary" + "description": "Handles pointing towards binary content that advertisers can use later on, for example in their creatives." }, - "JsonApiPageResponseOfAccount": { - "required": [ - "data" - ], + "RmLegacyAudienceGetEntityV1ListResponse": { "type": "object", "properties": { - "errors": { + "data": { "type": "array", "items": { - "$ref": "#/components/schemas/CommonError" + "$ref": "#/components/schemas/RmLegacyAudienceGetEntityV1Resource" }, - "x-nullable": false + "nullable": true }, "warnings": { "type": "array", "items": { - "$ref": "#/components/schemas/CommonWarning" + "$ref": "#/components/schemas/CommonProblem" }, - "x-nullable": false - }, - "metadata": { - "$ref": "#/components/schemas/PageMetadata" + "nullable": true, + "readOnly": true }, - "data": { + "errors": { "type": "array", "items": { - "$ref": "#/components/schemas/JsonApiBodyWithIdOfInt64AndAccountAndAccount" + "$ref": "#/components/schemas/CommonProblem" }, - "x-nullable": false + "nullable": true, + "readOnly": true } }, - "description": "A wrapper class to return a single page of with metadata", - "x-nullable": false + "description": "A top-level object that encapsulates a Criteo API response for several entities and metadata" }, - "JsonApiPageResponseOfBrand": { - "required": [ - "data" - ], + "RmLegacyAudienceCreateEntityV1Response": { "type": "object", "properties": { - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CommonError" - }, - "x-nullable": false + "data": { + "$ref": "#/components/schemas/RmLegacyAudienceCreateEntityV1Resource" }, "warnings": { "type": "array", "items": { - "$ref": "#/components/schemas/CommonWarning" + "$ref": "#/components/schemas/CommonProblem" }, - "x-nullable": false - }, - "metadata": { - "$ref": "#/components/schemas/PageMetadata" + "nullable": true, + "readOnly": true }, - "data": { + "errors": { "type": "array", "items": { - "$ref": "#/components/schemas/JsonApiBodyWithIdOfInt64AndBrandAndBrand" + "$ref": "#/components/schemas/CommonProblem" }, - "x-nullable": false + "nullable": true, + "readOnly": true } }, - "description": "A wrapper class to return a single page of with metadata", - "x-nullable": false + "description": "A top-level object that encapsulates a Criteo API response for a single entity" }, - "JsonApiPageResponseOfRetailer": { - "required": [ - "data" - ], + "RmLegacyAudienceGetEntityV2ListResponse": { "type": "object", "properties": { - "errors": { + "data": { "type": "array", "items": { - "$ref": "#/components/schemas/CommonError" + "$ref": "#/components/schemas/RmLegacyAudienceGetEntityV2Resource" }, - "x-nullable": false + "nullable": true }, "warnings": { "type": "array", "items": { - "$ref": "#/components/schemas/CommonWarning" + "$ref": "#/components/schemas/CommonProblem" }, - "x-nullable": false - }, - "metadata": { - "$ref": "#/components/schemas/PageMetadata" + "nullable": true, + "readOnly": true }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true + } + }, + "description": "A top-level object that encapsulates a Criteo API response for several entities" + }, + "RmLegacyAudienceCreateEntityV2Response": { + "type": "object", + "properties": { "data": { + "$ref": "#/components/schemas/RmLegacyAudienceCreateEntityV2Resource" + }, + "warnings": { "type": "array", "items": { - "$ref": "#/components/schemas/JsonApiBodyWithIdOfInt64AndRetailerAndRetailer" + "$ref": "#/components/schemas/CommonProblem" }, - "x-nullable": false + "nullable": true, + "readOnly": true + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true } }, - "description": "A wrapper class to return a single page of with metadata", - "x-nullable": false + "description": "A top-level object that encapsulates a Criteo API response for a single entity" + }, + "RmLegacyAudienceCreateInputEntityV1": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/RmLegacyAudienceCreateEntityV1Resource" + } + }, + "description": "Input to create audience." }, - "PageMetadata": { - "required": [ - "currentPageSize", - "currentPageIndex" - ], + "RmLegacyAudienceCreateInputEntityV2": { "type": "object", "properties": { - "totalItemsAcrossAllPages": { - "type": "integer", - "format": "int64", - "nullable": true, - "x-nullable": true - }, - "currentPageSize": { - "type": "integer", - "format": "int32", - "x-nullable": false - }, - "currentPageIndex": { - "type": "integer", - "format": "int32", - "x-nullable": false - }, - "totalPages": { - "type": "integer", - "format": "int64", - "nullable": true, - "x-nullable": true - }, - "nextPage": { - "type": "string", - "x-nullable": false - }, - "previousPage": { - "type": "string", - "x-nullable": false + "data": { + "$ref": "#/components/schemas/RmLegacyAudienceCreateEntityV2Resource" } }, - "description": "Metadata related to the current request", - "x-nullable": false + "description": "Input to create audience." }, - "CommonError": { + "RmLegacyAudienceGetEntityV1Resource": { "type": "object", "properties": { - "traceId": { + "attributes": { + "$ref": "#/components/schemas/RmLegacyAudienceGetEntityV1" + }, + "id": { "type": "string", - "description": "(REQUIRED) The Correlation ID provided by the Gateway. It is also a unique identifier for this particular occurrence of the problem.", - "x-nullable": false + "nullable": true }, - "type": { + "audienceType": { "enum": [ - "unknown", - "access-control", - "authentication", - "authorization", - "availability", - "deprecation", - "quota", - "validation" + "customerList", + "userBehavior" ], "type": "string", - "description": "(REQUIRED) The classification of the error.", - "x-nullable": false - }, - "code": { - "type": "string", - "description": "(REQUIRED) A machine-readable unique error code, expressed as a string value. The format used must be kabab-case.", - "x-nullable": false - }, - "instance": { - "type": "string", - "description": "(REQUIRED) A URI reference that identifies the specific occurrence of the problem.", - "x-nullable": false + "nullable": true }, - "title": { + "type": { "type": "string", - "description": "(RECOMMENDED) A short, human-readable summary of the problem type.", - "x-nullable": false + "nullable": true + } + }, + "description": "A class that represents a domain entity exposed by an API" + }, + "RmLegacyAudienceCreateEntityV1Resource": { + "type": "object", + "properties": { + "attributes": { + "$ref": "#/components/schemas/RmLegacyAudienceCreateEntityV1" }, - "detail": { + "id": { "type": "string", - "description": "(RECOMMENDED) A human-readable explanation specific to this occurrence of the problem.", - "x-nullable": false - }, - "source": { - "type": "object", - "additionalProperties": { - "type": "string", - "x-nullable": false - }, - "description": "(OPTIONAL) A machine-readable structure to reference to the exact location(s) causing the error(s)", - "x-nullable": false + "description": "Id of the entity", + "nullable": true }, - "stackTrace": { + "type": { "type": "string", - "description": "(NEVER IN PRODUCTION) A human-readable stacktrace produced by the implementation technology", - "x-nullable": false + "nullable": true } }, - "description": "A JSON:API Common error structure", - "x-nullable": false + "description": "A class that represents a domain entity exposed by an API" }, - "CommonWarning": { + "RmLegacyAudienceGetEntityV2Resource": { "type": "object", "properties": { - "traceId": { + "attributes": { + "$ref": "#/components/schemas/RmLegacyAudienceGetEntityV2" + }, + "id": { "type": "string", - "description": "(REQUIRED) The Correlation ID provided by the Gateway. It is also a unique identifier for this particular occurrence of the problem.", - "x-nullable": false + "description": "Id of the entity", + "nullable": true }, "type": { - "enum": [ - "unknown", - "access-control", - "authentication", - "authorization", - "availability", - "deprecation", - "quota", - "validation" - ], "type": "string", - "description": "(REQUIRED) The classification of the error.", - "x-nullable": false + "nullable": true + } + }, + "description": "A class that represents a domain entity exposed by an API" + }, + "RmLegacyAudienceCreateEntityV2Resource": { + "type": "object", + "properties": { + "attributes": { + "$ref": "#/components/schemas/RmLegacyAudienceCreateEntityV2" }, - "code": { + "id": { "type": "string", - "description": "(REQUIRED) A machine-readable unique error code, expressed as a string value. The format used must be kabab-case.", - "x-nullable": false + "description": "Id of the entity", + "nullable": true }, - "instance": { + "type": { "type": "string", - "description": "(REQUIRED) A URI reference that identifies the specific occurrence of the problem.", - "x-nullable": false - }, - "title": { + "nullable": true + } + }, + "description": "A class that represents a domain entity exposed by an API" + }, + "RmLegacyAudienceGetEntityV1": { + "required": [ + "name", + "retailerId" + ], + "type": "object", + "properties": { + "name": { "type": "string", - "description": "(RECOMMENDED) A short, human-readable summary of the problem type.", - "x-nullable": false + "description": "Name of the audience" }, - "detail": { + "retailerId": { "type": "string", - "description": "(RECOMMENDED) A human-readable explanation specific to this occurrence of the problem.", - "x-nullable": false + "description": "ID of the retailer associated with this audience" }, - "source": { - "type": "object", - "additionalProperties": { - "type": "string", - "x-nullable": false - }, - "description": "(OPTIONAL) A machine-readable structure to reference to the exact location(s) causing the error(s)", - "x-nullable": false + "userBehaviorDetails": { + "$ref": "#/components/schemas/RmLegacySegmentUserBehaviorV1" }, - "stackTrace": { - "type": "string", - "description": "(NEVER IN PRODUCTION) A human-readable stacktrace produced by the implementation technology", - "x-nullable": false + "customerListDetails": { + "$ref": "#/components/schemas/RmLegacySegmentCustomerList" } }, - "description": "A JSON:API Base common warning", - "x-nullable": false + "description": "Audience definition of people of interest for a marketer.", + "x-criteo-canonical": { + "infoType": "entity", + "name": "RetailMediaAudienceSummary", + "version": "v1" + } }, - "JsonApiBodyWithIdOfInt64AndAccountAndAccount": { + "RmLegacyAudienceCreateEntityV1": { "required": [ - "id", - "type" + "lookbackWindow", + "name", + "retailerId", + "userType" ], "type": "object", "properties": { - "id": { + "userType": { + "enum": [ + "viewer", + "buyer", + "addToCarter" + ], "type": "string", - "format": "long-id", - "x-nullable": false + "description": "Type of the user" + }, + "lookbackWindow": { + "enum": [ + "P7D", + "P14D", + "P30D", + "P45D", + "P60D", + "P90D", + "P120D", + "P150D", + "P180D" + ], + "type": "string", + "description": "Length of lookback window" + }, + "brandIds": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "integer", + "format": "int64" + }, + "description": "The brands to target", + "nullable": true + }, + "categoryIds": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "description": "The categories to target", + "nullable": true + }, + "retailerId": { + "type": "integer", + "description": "ID of the retailer associated with this audience", + "format": "int64" }, - "type": { + "name": { "type": "string", - "x-nullable": false - }, - "attributes": { - "$ref": "#/components/schemas/ExternalAccount" + "description": "Name of the audience" } }, - "description": "A JSON:API wrapper class to format a with external Id, Type, and\r\nAttributes properties", - "x-nullable": false + "description": "Audience definition", + "x-criteo-canonical": { + "infoType": "entity", + "name": "RetailMediaAudience", + "version": "v1" + } }, - "JsonApiBodyWithIdOfInt64AndBrandAndBrand": { + "RmLegacyAudienceGetEntityV2": { "required": [ - "id", - "type" + "name", + "retailerId" ], "type": "object", "properties": { - "id": { + "retailerId": { "type": "string", - "format": "long-id", - "x-nullable": false + "description": "ID of the retailer associated with this audience" }, - "type": { - "type": "string", - "x-nullable": false + "userBehaviorDetails": { + "$ref": "#/components/schemas/RmLegacyAudienceUserBehaviorDetailsV2" }, - "attributes": { - "$ref": "#/components/schemas/ExternalBrand" + "customerListDetails": { + "$ref": "#/components/schemas/RmLegacySegmentCustomerList" + }, + "name": { + "type": "string", + "description": "Name of the audience" } }, - "description": "A JSON:API wrapper class to format a with external Id, Type, and\r\nAttributes properties", - "x-nullable": false + "description": "Audience definition of people of interest for a marketer", + "x-criteo-canonical": { + "infoType": "entity", + "name": "RetailMediaAudience", + "version": "v1" + } }, - "JsonApiBodyWithIdOfInt64AndRetailerAndRetailer": { + "RmLegacyAudienceCreateEntityV2": { "required": [ - "id", - "type" + "name", + "retailerId", + "userBehaviorDetails" ], "type": "object", "properties": { - "id": { - "type": "string", - "format": "long-id", - "x-nullable": false + "retailerId": { + "type": "integer", + "description": "ID of the retailer associated with this audience", + "format": "int64" }, - "type": { - "type": "string", - "x-nullable": false + "userBehaviorDetails": { + "$ref": "#/components/schemas/RmLegacyAudienceUserBehaviorCreateV2" }, - "attributes": { - "$ref": "#/components/schemas/ExternalRetailer" + "name": { + "type": "string", + "description": "Name of the audience" } }, - "description": "A JSON:API wrapper class to format a with external Id, Type, and\r\nAttributes properties", - "x-nullable": false + "description": "Audience definition", + "x-criteo-canonical": { + "infoType": "entity", + "name": "RetailMediaAudience", + "version": "v1" + } }, - "ExternalAccount": { + "RmLegacySegmentUserBehaviorV1": { "required": [ - "name", - "type", - "countries", - "currency", - "parentAccountLabel", - "timeZone" + "lookbackWindow", + "userType" ], "type": "object", "properties": { - "name": { - "maxLength": 510, - "minLength": 0, + "userType": { + "enum": [ + "viewer", + "buyer", + "addToCarter" + ], "type": "string", - "x-nullable": false + "description": "Type of shopper activity used to generate the audience." }, - "type": { + "lookbackWindow": { "enum": [ - "unknown", - "supply", - "demand" + "P7D", + "P14D", + "P30D", + "P45D", + "P60D", + "P90D", + "P120D", + "P150D", + "P180D" ], "type": "string", - "x-nullable": false + "description": "Length of lookback window" }, - "subtype": { + "targetType": { "enum": [ - "unknown", "brand", - "seller" + "category" ], "type": "string", - "nullable": true, - "x-nullable": true + "description": "Type of target", + "nullable": true }, - "countries": { + "targetIds": { + "uniqueItems": true, "type": "array", "items": { - "type": "string", - "x-nullable": false + "type": "string" }, - "x-nullable": false - }, - "currency": { - "type": "string", - "x-nullable": false - }, - "parentAccountLabel": { - "maxLength": 510, - "minLength": 0, - "type": "string", - "x-nullable": false - }, - "timeZone": { - "type": "string", - "x-nullable": false - }, - "companyName": { - "type": "string", + "description": "The categories to target", "nullable": true } }, - "description": "A Retail Media Account used to launch campaigns and line items", - "x-nullable": false + "description": "Audience definition of people based on what they visited" }, - "ExternalBrand": { + "RmLegacySegmentCustomerList": { "required": [ - "name" + "isShared", + "size" ], "type": "object", "properties": { - "name": { - "maxLength": 120, - "minLength": 0, + "size": { "type": "string", - "x-nullable": false + "description": "Number of users in the customer list audience." + }, + "isShared": { + "type": "boolean", + "description": "Indicate if the audience is shared." } }, - "description": "A Retail Media Brand used to represent a collection of products sold under the same umbrella name", - "x-nullable": false + "description": "Audience definition of people based on a customer list" }, - "ExternalRetailer": { + "RmLegacyAudienceUserBehaviorDetailsV2": { "required": [ - "name" + "inclusiveSegment" ], "type": "object", "properties": { - "name": { - "maxLength": 100, - "type": "string", - "x-nullable": false + "inclusiveSegment": { + "$ref": "#/components/schemas/RmLegacySegmentUserBehaviorV2" }, - "campaignEligibilities": { - "type": "array", - "items": { - "enum": [ - "unknown", - "auction", - "preferred" - ], - "type": "string", - "x-nullable": false - }, - "x-nullable": false + "exclusiveSegment": { + "$ref": "#/components/schemas/RmLegacySegmentUserBehaviorV2" } }, - "description": "A Retail Media Retailer used to represent a selection of products from multiple brands", - "x-nullable": false + "description": "User Behavior Details." }, - "AssetResponse": { + "RmLegacyAudienceUserBehaviorCreateV2": { + "required": [ + "inclusiveSegment" + ], "type": "object", "properties": { - "data": { - "$ref": "#/components/schemas/AssetResource" + "inclusiveSegment": { + "$ref": "#/components/schemas/RmLegacySegmentUserBehaviorCreateV2" }, - "warnings": { - "uniqueItems": false, + "exclusiveSegment": { + "$ref": "#/components/schemas/RmLegacySegmentUserBehaviorCreateV2" + } + }, + "description": "User Behavior to include and optionally exclude." + }, + "RmLegacySegmentUserBehaviorV2": { + "required": [ + "lookbackWindow", + "userAction" + ], + "type": "object", + "properties": { + "userAction": { + "enum": [ + "buy", + "view", + "addToCart" + ], + "type": "string", + "description": "Type of shopper activity used to generate the audience." + }, + "lookbackWindow": { + "enum": [ + "P7D", + "P14D", + "P30D", + "P45D", + "P60D", + "P90D", + "P120D", + "P150D", + "P180D" + ], + "type": "string", + "description": "Length of lookback window" + }, + "categoryIds": { + "uniqueItems": true, "type": "array", "items": { - "$ref": "#/components/schemas/CommonProblem" + "type": "integer", + "format": "int32" }, - "nullable": true, - "readOnly": true + "description": "The categories to target", + "nullable": true }, - "errors": { - "uniqueItems": false, + "brandIds": { + "uniqueItems": true, "type": "array", "items": { - "$ref": "#/components/schemas/CommonProblem" + "type": "integer", + "format": "int64" }, - "nullable": true, - "readOnly": true - } - }, - "description": "A class implementing the response of the Criteo API as described in API Guild Guidelines with a single entity as body" - }, - "AssetResource": { - "type": "object", - "properties": { - "attributes": { - "$ref": "#/components/schemas/Asset" + "description": "The brands to target", + "nullable": true }, - "id": { - "type": "string", + "minPrice": { + "type": "number", + "description": "The min price of targeted skus.", + "format": "double", "nullable": true }, - "type": { - "type": "string", + "maxPrice": { + "type": "number", + "description": "The max price of targeted skus.", + "format": "double", "nullable": true } }, - "description": "A class that represents an entity in a guild compliant way" + "description": "Audience definition of people based on what they visited" }, - "Asset": { + "RmLegacySegmentUserBehaviorCreateV2": { "required": [ - "fileExtension" + "lookbackWindow", + "userAction" ], "type": "object", "properties": { - "fileExtension": { + "userAction": { + "enum": [ + "buy", + "view", + "addToCart" + ], "type": "string", - "description": "The file extension that is asset is representing. Example: jpg, png, gif or pdf." + "description": "Type of shopper activity used to generate the audience." }, - "fileLocation": { + "lookbackWindow": { + "enum": [ + "P7D", + "P14D", + "P30D", + "P45D", + "P60D", + "P90D", + "P120D", + "P150D", + "P180D" + ], "type": "string", - "description": "A url pointing towards the static file the asset represents.", - "nullable": true + "description": "Length of lookback window" }, - "id": { - "type": "string", - "nullable": true - } - }, - "description": "Handles pointing towards binary content that advertisers can use later on, for example in their creatives." - }, - "RmLegacyAudienceGetEntityV1ListResponse": { - "type": "object", - "properties": { - "data": { + "categoryIds": { + "uniqueItems": true, "type": "array", "items": { - "$ref": "#/components/schemas/RmLegacyAudienceGetEntityV1Resource" + "type": "integer", + "format": "int32" }, + "description": "The categories to target", "nullable": true }, - "warnings": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CommonProblem" - }, - "nullable": true, - "readOnly": true - }, - "errors": { + "brandIds": { + "uniqueItems": true, "type": "array", "items": { - "$ref": "#/components/schemas/CommonProblem" + "type": "integer", + "format": "int64" }, - "nullable": true, - "readOnly": true + "description": "The brands to target", + "nullable": true } }, - "description": "A top-level object that encapsulates a Criteo API response for several entities and metadata" + "description": "User Behavior Details." }, - "RmLegacyAudienceCreateEntityV1Response": { + "KeywordsModelResponse": { "type": "object", "properties": { - "data": { - "$ref": "#/components/schemas/RmLegacyAudienceCreateEntityV1Resource" - }, - "warnings": { + "errors": { "type": "array", "items": { - "$ref": "#/components/schemas/CommonProblem" + "$ref": "#/components/schemas/RmcaCommonProblem" }, "nullable": true, "readOnly": true }, - "errors": { + "warnings": { "type": "array", "items": { - "$ref": "#/components/schemas/CommonProblem" + "$ref": "#/components/schemas/RmcaCommonProblem" }, "nullable": true, "readOnly": true + }, + "data": { + "$ref": "#/components/schemas/KeywordsModelResource" } }, - "description": "A top-level object that encapsulates a Criteo API response for a single entity" + "additionalProperties": false, + "description": "Response object containing keywords associated with a line item." }, - "RmLegacyAudienceGetEntityV2ListResponse": { + "ResourceOutcome": { "type": "object", "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/RmLegacyAudienceGetEntityV2Resource" - }, - "nullable": true - }, - "warnings": { + "errors": { "type": "array", "items": { - "$ref": "#/components/schemas/CommonProblem" + "$ref": "#/components/schemas/RmcaCommonProblem" }, "nullable": true, "readOnly": true }, - "errors": { + "warnings": { "type": "array", "items": { - "$ref": "#/components/schemas/CommonProblem" + "$ref": "#/components/schemas/RmcaCommonProblem" }, "nullable": true, "readOnly": true } }, - "description": "A top-level object that encapsulates a Criteo API response for several entities" + "additionalProperties": false, + "description": "Outcome object containing errors and warnings." }, - "RmLegacyAudienceCreateEntityV2Response": { + "ProposalStatusModelResponse": { "type": "object", "properties": { - "data": { - "$ref": "#/components/schemas/RmLegacyAudienceCreateEntityV2Resource" - }, - "warnings": { + "errors": { "type": "array", "items": { - "$ref": "#/components/schemas/CommonProblem" + "$ref": "#/components/schemas/RmcaCommonProblem" }, "nullable": true, "readOnly": true }, - "errors": { + "warnings": { "type": "array", "items": { - "$ref": "#/components/schemas/CommonProblem" + "$ref": "#/components/schemas/RmcaCommonProblem" }, "nullable": true, "readOnly": true + }, + "data": { + "$ref": "#/components/schemas/ProposalStatusModelResource" } }, - "description": "A top-level object that encapsulates a Criteo API response for a single entity" + "additionalProperties": false, + "description": "Response object containing the state of a proposal in the context of a line item." }, - "RmLegacyAudienceCreateInputEntityV1": { + "AddRemoveKeywordsModelRequest": { "type": "object", "properties": { "data": { - "$ref": "#/components/schemas/RmLegacyAudienceCreateEntityV1Resource" + "$ref": "#/components/schemas/AddRemoveKeywordsModelResource" } }, - "description": "Input to create audience." + "additionalProperties": false, + "description": "Request object to add or remove keywords from a line item" }, - "RmLegacyAudienceCreateInputEntityV2": { + "SetBidsModelRequest": { "type": "object", "properties": { "data": { - "$ref": "#/components/schemas/RmLegacyAudienceCreateEntityV2Resource" + "$ref": "#/components/schemas/SetBidsModelResource" } }, - "description": "Input to create audience." + "additionalProperties": false, + "description": "Request object to set bid overrides for keywords associated with a line item" }, - "RmLegacyAudienceGetEntityV1Resource": { + "KeywordsModelResource": { "type": "object", "properties": { - "attributes": { - "$ref": "#/components/schemas/RmLegacyAudienceGetEntityV1" - }, "id": { "type": "string", "nullable": true }, - "audienceType": { + "type": { + "type": "string", + "nullable": true + }, + "attributes": { + "$ref": "#/components/schemas/KeywordsModel" + } + }, + "additionalProperties": false, + "description": "Resource object containing keywords associated with a line item." + }, + "RmcaCommonProblem": { + "type": "object", + "properties": { + "traceId": { + "type": "string", + "description": "The request correlation ID this problem comes from.", + "nullable": true + }, + "type": { "enum": [ - "customerList", - "userBehavior" + "unknown", + "access-control", + "authentication", + "authorization", + "availability", + "deprecation", + "quota", + "validation" ], + "type": "string", + "description": "The problem's category.", + "nullable": true + }, + "code": { + "type": "string", + "description": "A machine-readable error code, expressed as a string value.", + "nullable": true + }, + "instance": { + "type": "string", + "description": "A URI that identifies the specific occurrence of the problem.", + "nullable": true + }, + "title": { + "type": "string", + "description": "A short human-readable description of the problem type", + "nullable": true + }, + "detail": { + "type": "string", + "description": "A human-readable explanation specific to this occurrence of the problem", + "nullable": true + }, + "source": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A machine-readable structure to reference to the exact location(s) causing the error(s)", + "nullable": true + }, + "stackTrace": { + "type": "string", + "nullable": true + }, + "status": { + "type": "integer", + "description": "The problem's HTTP Status code.", + "format": "int32", + "nullable": true + } + }, + "additionalProperties": { }, + "description": "Common problem object." + }, + "ProposalStatusModelResource": { + "type": "object", + "properties": { + "id": { "type": "string", "nullable": true }, "type": { "type": "string", "nullable": true + }, + "attributes": { + "$ref": "#/components/schemas/ProposalStatusModel" } }, - "description": "A class that represents a domain entity exposed by an API" + "additionalProperties": false, + "description": "Resource object containing the state of a proposal in the context of a line item." }, - "RmLegacyAudienceCreateEntityV1Resource": { + "AddRemoveKeywordsModelResource": { "type": "object", "properties": { - "attributes": { - "$ref": "#/components/schemas/RmLegacyAudienceCreateEntityV1" - }, "id": { "type": "string", - "description": "Id of the entity", "nullable": true }, "type": { "type": "string", "nullable": true + }, + "attributes": { + "$ref": "#/components/schemas/AddRemoveKeywordsModel" } }, - "description": "A class that represents a domain entity exposed by an API" + "additionalProperties": false, + "description": "Resource object containing keywords to be added or removed from a line item" }, - "RmLegacyAudienceGetEntityV2Resource": { + "SetBidsModelResource": { "type": "object", "properties": { - "attributes": { - "$ref": "#/components/schemas/RmLegacyAudienceGetEntityV2" - }, "id": { "type": "string", - "description": "Id of the entity", "nullable": true }, "type": { "type": "string", "nullable": true + }, + "attributes": { + "$ref": "#/components/schemas/SetBidsModel" } }, - "description": "A class that represents a domain entity exposed by an API" + "additionalProperties": false, + "description": "Resource object containing keywords and their associated bid overrides" }, - "RmLegacyAudienceCreateEntityV2Resource": { + "KeywordsModel": { "type": "object", "properties": { - "attributes": { - "$ref": "#/components/schemas/RmLegacyAudienceCreateEntityV2" - }, - "id": { - "type": "string", - "description": "Id of the entity", + "keywords": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/KeywordDataModel" + }, "nullable": true }, - "type": { - "type": "string", + "rank": { + "type": "array", + "items": { + "type": "string" + }, "nullable": true } }, - "description": "A class that represents a domain entity exposed by an API" + "additionalProperties": false, + "description": "The keywords associated with a line item." }, - "RmLegacyAudienceGetEntityV1": { - "required": [ - "name", - "retailerId" - ], + "ProposalStatusModel": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "Name of the audience" + "negotiationState": { + "$ref": "#/components/schemas/NegotiationStateModel" }, - "retailerId": { + "bookingStatus": { + "$ref": "#/components/schemas/ApprovalStatusModel" + }, + "runnableStatus": { + "$ref": "#/components/schemas/ApprovalStatusModel" + }, + "comment": { "type": "string", - "description": "ID of the retailer associated with this audience" + "nullable": true }, - "userBehaviorDetails": { - "$ref": "#/components/schemas/RmLegacySegmentUserBehaviorV1" + "createdAt": { + "type": "string", + "format": "date-time", + "nullable": true }, - "customerListDetails": { - "$ref": "#/components/schemas/RmLegacySegmentCustomerList" + "updatedAt": { + "type": "string", + "format": "date-time", + "nullable": true } }, - "description": "Audience definition of people of interest for a marketer.", - "x-criteo-canonical": { - "infoType": "entity", - "name": "RetailMediaAudienceSummary", - "version": "v1" - } + "additionalProperties": false, + "description": "The state of a proposal in the context of a line item." }, - "RmLegacyAudienceCreateEntityV1": { - "required": [ - "lookbackWindow", - "name", - "retailerId", - "userType" - ], + "AddRemoveKeywordsModel": { "type": "object", "properties": { - "userType": { - "enum": [ - "viewer", - "buyer", - "addToCarter" - ], - "type": "string", - "description": "Type of the user" - }, - "lookbackWindow": { - "enum": [ - "P7D", - "P14D", - "P30D", - "P45D", - "P60D", - "P90D", - "P120D", - "P150D", - "P180D" - ], - "type": "string", - "description": "Length of lookback window" - }, - "brandIds": { - "uniqueItems": true, + "keywords": { "type": "array", "items": { - "type": "integer", - "format": "int64" + "$ref": "#/components/schemas/AddRemoveKeywordModel" }, - "description": "The brands to target", "nullable": true - }, - "categoryIds": { - "uniqueItems": true, + } + }, + "additionalProperties": false, + "description": "Data model containing keywords to be added or removed from a line item" + }, + "SetBidsModel": { + "type": "object", + "properties": { + "keywords": { "type": "array", "items": { - "type": "integer", - "format": "int32" + "$ref": "#/components/schemas/SetBidModel" }, - "description": "The categories to target", "nullable": true - }, - "retailerId": { - "type": "integer", - "description": "ID of the retailer associated with this audience", - "format": "int64" - }, - "name": { - "type": "string", - "description": "Name of the audience" } }, - "description": "Audience definition", - "x-criteo-canonical": { - "infoType": "entity", - "name": "RetailMediaAudience", - "version": "v1" - } + "additionalProperties": false, + "description": "Data model containing keywords and their associated bid overrides" }, - "RmLegacyAudienceGetEntityV2": { - "required": [ - "name", - "retailerId" - ], + "KeywordDataModel": { "type": "object", "properties": { - "retailerId": { - "type": "string", - "description": "ID of the retailer associated with this audience" + "reviewState": { + "$ref": "#/components/schemas/ReviewStateModel" }, - "userBehaviorDetails": { - "$ref": "#/components/schemas/RmLegacyAudienceUserBehaviorDetailsV2" + "matchType": { + "$ref": "#/components/schemas/MatchTypeModel" }, - "customerListDetails": { - "$ref": "#/components/schemas/RmLegacySegmentCustomerList" + "bid": { + "type": "number", + "format": "double", + "nullable": true }, - "name": { + "inputKeywords": { + "$ref": "#/components/schemas/InputKeywordsModel" + }, + "createdAt": { "type": "string", - "description": "Name of the audience" + "format": "date-time", + "nullable": true + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "nullable": true } }, - "description": "Audience definition of people of interest for a marketer", - "x-criteo-canonical": { - "infoType": "entity", - "name": "RetailMediaAudience", - "version": "v1" - } + "additionalProperties": false, + "description": "A single keyword and associated bid override" }, - "RmLegacyAudienceCreateEntityV2": { - "required": [ - "name", - "retailerId", - "userBehaviorDetails" + "NegotiationStateModel": { + "enum": [ + "Invalid", + "Modified", + "Submitted", + "Reviewed", + "Approved" + ], + "type": "string", + "description": "The state of a negotiation in the context of a line item." + }, + "ApprovalStatusModel": { + "enum": [ + "NotSubmitted", + "Submitted", + "Rejected", + "Approved" ], + "type": "string", + "description": "The status of a booking or runnable in the context of a line item." + }, + "AddRemoveKeywordModel": { "type": "object", "properties": { - "retailerId": { - "type": "integer", - "description": "ID of the retailer associated with this audience", - "format": "int64" + "phrase": { + "maxLength": 255, + "minLength": 0, + "type": "string", + "nullable": true }, - "userBehaviorDetails": { - "$ref": "#/components/schemas/RmLegacyAudienceUserBehaviorCreateV2" + "matchType": { + "$ref": "#/components/schemas/MatchTypeModel" }, - "name": { - "type": "string", - "description": "Name of the audience" + "isDeleted": { + "type": "boolean", + "nullable": true } }, - "description": "Audience definition", - "x-criteo-canonical": { - "infoType": "entity", - "name": "RetailMediaAudience", - "version": "v1" - } + "additionalProperties": false, + "description": "A single keyword to be added or removed" }, - "RmLegacySegmentUserBehaviorV1": { - "required": [ - "lookbackWindow", - "userType" - ], + "SetBidModel": { "type": "object", "properties": { - "userType": { - "enum": [ - "viewer", - "buyer", - "addToCarter" - ], + "phrase": { + "maxLength": 255, + "minLength": 0, "type": "string", - "description": "Type of shopper activity used to generate the audience." + "nullable": true }, - "lookbackWindow": { - "enum": [ - "P7D", - "P14D", - "P30D", - "P45D", - "P60D", - "P90D", - "P120D", - "P150D", - "P180D" - ], - "type": "string", - "description": "Length of lookback window" + "bid": { + "type": "number", + "format": "double", + "nullable": true + } + }, + "additionalProperties": false, + "description": "A single keyword and associated bid override" + }, + "ReviewStateModel": { + "enum": [ + "InReview", + "Recommended", + "Approved", + "AutoApproved", + "Rejected", + "AutoRejected" + ], + "type": "string", + "description": "The state of a keyword in the context of a line item." + }, + "MatchTypeModel": { + "enum": [ + "PositiveExactMatch", + "NegativeExactMatch", + "NegativeBroadMatch" + ], + "type": "string", + "description": "The match type of a keyword." + }, + "InputKeywordsModel": { + "type": "object", + "properties": { + "negativeBroad": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true }, - "targetType": { - "enum": [ - "brand", - "category" - ], - "type": "string", - "description": "Type of target", + "negativeExact": { + "type": "array", + "items": { + "type": "string" + }, "nullable": true }, - "targetIds": { - "uniqueItems": true, + "positiveExact": { "type": "array", "items": { "type": "string" }, - "description": "The categories to target", "nullable": true } }, - "description": "Audience definition of people based on what they visited" + "additionalProperties": false, + "description": "The keywords to be added or removed from a line item." }, - "RmLegacySegmentCustomerList": { - "required": [ - "isShared", - "size" - ], + "Creative202110ListResponse": { "type": "object", "properties": { - "size": { - "type": "string", - "description": "Number of users in the customer list audience." + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ResourceOfCreative202110" + }, + "x-nullable": false }, - "isShared": { - "type": "boolean", - "description": "Indicate if the audience is shared." + "warnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ProblemDetails" + }, + "readOnly": true, + "x-nullable": false + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ProblemDetails" + }, + "readOnly": true, + "x-nullable": false } }, - "description": "Audience definition of people based on a customer list" + "description": "Data model for a list of response resources", + "x-nullable": false }, - "RmLegacyAudienceUserBehaviorDetailsV2": { - "required": [ - "inclusiveSegment" - ], + "Creative202210Response": { "type": "object", "properties": { - "inclusiveSegment": { - "$ref": "#/components/schemas/RmLegacySegmentUserBehaviorV2" + "data": { + "$ref": "#/components/schemas/ResourceOfCreative202210" }, - "exclusiveSegment": { - "$ref": "#/components/schemas/RmLegacySegmentUserBehaviorV2" + "warnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ProblemDetails" + }, + "readOnly": true, + "x-nullable": false + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ProblemDetails" + }, + "readOnly": true, + "x-nullable": false } }, - "description": "User Behavior Details." + "description": "Data model for response resource", + "x-nullable": false }, - "RmLegacyAudienceUserBehaviorCreateV2": { - "required": [ - "inclusiveSegment" - ], + "Creative202210ListResponse": { "type": "object", "properties": { - "inclusiveSegment": { - "$ref": "#/components/schemas/RmLegacySegmentUserBehaviorCreateV2" + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ResourceOfCreative202210" + }, + "x-nullable": false }, - "exclusiveSegment": { - "$ref": "#/components/schemas/RmLegacySegmentUserBehaviorCreateV2" + "warnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ProblemDetails" + }, + "readOnly": true, + "x-nullable": false + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ProblemDetails" + }, + "readOnly": true, + "x-nullable": false } }, - "description": "User Behavior to include and optionally exclude." + "description": "Data model for a list of response resources", + "x-nullable": false }, - "RmLegacySegmentUserBehaviorV2": { + "JsonApiSingleResponseOfCatalogStatus": { "required": [ - "lookbackWindow", - "userAction" + "data" ], "type": "object", "properties": { - "userAction": { - "enum": [ - "buy", - "view", - "addToCart" - ], - "type": "string", - "description": "Type of shopper activity used to generate the audience." + "data": { + "$ref": "#/components/schemas/JsonApiBodyWithIdOfInt64AndCatalogStatusAndCatalogStatus" }, - "lookbackWindow": { - "enum": [ - "P7D", - "P14D", - "P30D", - "P45D", - "P60D", - "P90D", - "P120D", - "P150D", - "P180D" - ], - "type": "string", - "description": "Length of lookback window" + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonError" + }, + "x-nullable": false }, - "categoryIds": { - "uniqueItems": true, + "warnings": { "type": "array", "items": { - "type": "integer", - "format": "int32" + "$ref": "#/components/schemas/CommonWarning" + }, + "x-nullable": false + } + }, + "description": "A JSON:API wrapper class to add one JSON:API within a data property", + "x-nullable": false + }, + "Category202204ListResponse": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ResourceOfCategory202204" + }, + "x-nullable": false + }, + "warnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ProblemDetails" }, - "description": "The categories to target", - "nullable": true + "readOnly": true, + "x-nullable": false }, - "brandIds": { - "uniqueItems": true, + "errors": { "type": "array", "items": { - "type": "integer", - "format": "int64" + "$ref": "#/components/schemas/ProblemDetails" }, - "description": "The brands to target", - "nullable": true - }, - "minPrice": { - "type": "number", - "description": "The min price of targeted skus.", - "format": "double", - "nullable": true - }, - "maxPrice": { - "type": "number", - "description": "The max price of targeted skus.", - "format": "double", - "nullable": true + "readOnly": true, + "x-nullable": false } }, - "description": "Audience definition of people based on what they visited" + "description": "Data model for a list of response resources", + "x-nullable": false }, - "RmLegacySegmentUserBehaviorCreateV2": { + "Category202204": { "required": [ - "lookbackWindow", - "userAction" + "text", + "name", + "parentId" ], "type": "object", "properties": { - "userAction": { - "enum": [ - "buy", - "view", - "addToCart" - ], + "text": { "type": "string", - "description": "Type of shopper activity used to generate the audience." + "description": "Category Text", + "x-nullable": false }, - "lookbackWindow": { - "enum": [ - "P7D", - "P14D", - "P30D", - "P45D", - "P60D", - "P90D", - "P120D", - "P150D", - "P180D" - ], + "name": { "type": "string", - "description": "Length of lookback window" - }, - "categoryIds": { - "uniqueItems": true, - "type": "array", - "items": { - "type": "integer", - "format": "int32" - }, - "description": "The categories to target", - "nullable": true + "description": "Category Name", + "x-nullable": false }, - "brandIds": { - "uniqueItems": true, - "type": "array", - "items": { - "type": "integer", - "format": "int64" - }, - "description": "The brands to target", - "nullable": true + "parentId": { + "type": "string", + "description": "Category ParentId", + "x-nullable": false } }, - "description": "User Behavior Details." + "description": "List of retailer's categories, including the full hierarchy of categories and their parent category ID", + "x-nullable": false }, - "KeywordsModelResponse": { + "TemplateListResponse": { "type": "object", "properties": { - "errors": { + "data": { "type": "array", "items": { - "$ref": "#/components/schemas/RmcaCommonProblem" + "$ref": "#/components/schemas/ResourceOfTemplate" }, - "nullable": true, - "readOnly": true + "x-nullable": false }, "warnings": { "type": "array", "items": { - "$ref": "#/components/schemas/RmcaCommonProblem" + "$ref": "#/components/schemas/ProblemDetails" }, - "nullable": true, - "readOnly": true + "readOnly": true, + "x-nullable": false }, - "data": { - "$ref": "#/components/schemas/KeywordsModelResource" + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ProblemDetails" + }, + "readOnly": true, + "x-nullable": false } }, - "additionalProperties": false, - "description": "Response object containing keywords associated with a line item." + "description": "Data model for a list of response resources", + "x-nullable": false }, - "ResourceOutcome": { + "TemplateResponse": { "type": "object", "properties": { - "errors": { + "data": { + "$ref": "#/components/schemas/ResourceOfTemplate" + }, + "warnings": { "type": "array", "items": { - "$ref": "#/components/schemas/RmcaCommonProblem" + "$ref": "#/components/schemas/ProblemDetails" }, - "nullable": true, - "readOnly": true + "readOnly": true, + "x-nullable": false }, - "warnings": { + "errors": { "type": "array", "items": { - "$ref": "#/components/schemas/RmcaCommonProblem" + "$ref": "#/components/schemas/ProblemDetails" }, - "nullable": true, - "readOnly": true + "readOnly": true, + "x-nullable": false } }, - "additionalProperties": false, - "description": "Outcome object containing errors and warnings." + "description": "Data model for response resource", + "x-nullable": false }, - "ProposalStatusModelResponse": { + "ExternalRetailerPages202110": { "type": "object", "properties": { - "errors": { + "pageTypes": { "type": "array", "items": { - "$ref": "#/components/schemas/RmcaCommonProblem" + "type": "string", + "x-nullable": false }, - "nullable": true, - "readOnly": true + "description": "List of valid pages for a retailer", + "x-nullable": false + } + }, + "description": "Wraps a list of valid pages for a retailer", + "x-nullable": false + }, + "CreativeCreateModel202207": { + "required": [ + "name", + "retailerId", + "templateId", + "templateVariableValues" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the creative", + "x-nullable": false }, - "warnings": { + "brandId": { + "type": "integer", + "description": "The brand associated to the creative", + "format": "int64", + "x-nullable": false + }, + "retailerId": { + "type": "integer", + "description": "The retailer associated to the creative", + "format": "int32", + "x-nullable": false + }, + "templateId": { + "type": "integer", + "description": "The creative template used for this creative", + "format": "int32", + "x-nullable": false + }, + "templateVariableValues": { "type": "array", "items": { - "$ref": "#/components/schemas/RmcaCommonProblem" + "$ref": "#/components/schemas/TemplateVariableValue" }, - "nullable": true, - "readOnly": true - }, - "data": { - "$ref": "#/components/schemas/ProposalStatusModelResource" + "description": "The template chosen values", + "x-nullable": false } }, - "additionalProperties": false, - "description": "Response object containing the state of a proposal in the context of a line item." + "description": "Create model of a creative", + "x-nullable": false }, - "AddRemoveKeywordsModelRequest": { + "CreativeUpdateModel202207": { + "required": [ + "name", + "retailerId", + "templateId", + "templateVariableValues" + ], "type": "object", "properties": { - "data": { - "$ref": "#/components/schemas/AddRemoveKeywordsModelResource" + "name": { + "type": "string", + "description": "The name of the creative", + "x-nullable": false + }, + "brandId": { + "type": "integer", + "description": "The brand associated to the creative", + "format": "int64", + "x-nullable": false + }, + "retailerId": { + "type": "integer", + "description": "The retailer associated to the creative", + "format": "int32", + "x-nullable": false + }, + "templateId": { + "type": "integer", + "description": "The creative template used for this creative", + "format": "int32", + "x-nullable": false + }, + "templateVariableValues": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateVariableValue" + }, + "description": "The template chosen values", + "x-nullable": false } }, - "additionalProperties": false, - "description": "Request object to add or remove keywords from a line item" + "description": "Update model of a creative", + "x-nullable": false }, - "SetBidsModelRequest": { + "JsonApiRequestOfCatalogRequest": { "type": "object", "properties": { "data": { - "$ref": "#/components/schemas/SetBidsModelResource" + "$ref": "#/components/schemas/JsonApiBodyWithoutIdOfCatalogRequestAndCatalogRequest" } }, - "additionalProperties": false, - "description": "Request object to set bid overrides for keywords associated with a line item" + "description": "A JSON:API wrapper class to format a with Type, and Attributes properties", + "x-nullable": false }, - "KeywordsModelResource": { + "ResourceOfCreative202110": { "type": "object", "properties": { "id": { "type": "string", + "description": "Id of the entity", "nullable": true }, "type": { "type": "string", + "description": "Canonical type name of the entity", "nullable": true }, "attributes": { - "$ref": "#/components/schemas/KeywordsModel" + "$ref": "#/components/schemas/Creative202110" } }, - "additionalProperties": false, - "description": "Resource object containing keywords associated with a line item." + "description": "Data model for a Resource", + "x-nullable": false }, - "RmcaCommonProblem": { + "ProblemDetails": { "type": "object", "properties": { "traceId": { @@ -5373,6 +6997,11 @@ "description": "The request correlation ID this problem comes from.", "nullable": true }, + "traceIdentifier": { + "type": "string", + "description": "The request correlation ID this problem comes from. (deprecated, use traceId instead)", + "nullable": true + }, "type": { "enum": [ "unknown", @@ -5386,1545 +7015,1746 @@ ], "type": "string", "description": "The problem's category.", - "nullable": true + "x-nullable": false }, "code": { "type": "string", "description": "A machine-readable error code, expressed as a string value.", - "nullable": true + "x-nullable": false }, "instance": { "type": "string", "description": "A URI that identifies the specific occurrence of the problem.", - "nullable": true + "x-nullable": false }, "title": { "type": "string", "description": "A short human-readable description of the problem type", - "nullable": true + "x-nullable": false }, "detail": { "type": "string", "description": "A human-readable explanation specific to this occurrence of the problem", - "nullable": true + "x-nullable": false }, "source": { "type": "object", "additionalProperties": { - "type": "string" + "type": "string", + "x-nullable": false }, "description": "A machine-readable structure to reference to the exact location(s) causing the error(s)", - "nullable": true + "x-nullable": false }, "stackTrace": { "type": "string", + "description": "Technical information, only used in non-prod environments", + "x-nullable": false + } + }, + "description": "Data model for common error or warning", + "x-nullable": false + }, + "ResourceOfCreative202210": { + "type": "object", + "properties": { + "attributes": { + "$ref": "#/components/schemas/Creative202210" + }, + "id": { + "type": "string", + "description": "Id of the entity", + "nullable": true + }, + "type": { + "type": "string", + "description": "Canonical type name of the entity", + "nullable": true + } + }, + "description": "Data model for a Resource", + "x-nullable": false + }, + "JsonApiBodyWithIdOfInt64AndCatalogStatusAndCatalogStatus": { + "required": [ + "id", + "type" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "long-id", + "x-nullable": false + }, + "type": { + "type": "string", + "x-nullable": false + }, + "attributes": { + "$ref": "#/components/schemas/ExternalCatalogStatus" + } + }, + "description": "A JSON:API wrapper class to format a with external Id, Type, and\r\nAttributes properties", + "x-nullable": false + }, + "ResourceOfCategory202204": { + "type": "object", + "properties": { + "attributes": { + "$ref": "#/components/schemas/Category202204" + }, + "id": { + "type": "string", + "description": "Id of the entity", + "nullable": true + }, + "type": { + "type": "string", + "description": "Canonical type name of the entity", + "nullable": true + } + }, + "description": "Data model for a Resource", + "x-nullable": false + }, + "ResourceOfTemplate": { + "type": "object", + "properties": { + "attributes": { + "$ref": "#/components/schemas/Template" + }, + "id": { + "type": "string", + "description": "Id of the entity", + "nullable": true + }, + "type": { + "type": "string", + "description": "Canonical type name of the entity", "nullable": true + } + }, + "description": "Data model for a Resource", + "x-nullable": false + }, + "TemplateVariableValue": { + "required": [ + "id" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The id of the template variable the value is applied to", + "x-nullable": false + }, + "textVariableValue": { + "$ref": "#/components/schemas/TextVariableValue" + }, + "choiceVariableValue": { + "$ref": "#/components/schemas/ChoiceVariableValue" + }, + "colorVariableValue": { + "$ref": "#/components/schemas/ColorVariableValue" + }, + "filesVariableValue": { + "$ref": "#/components/schemas/FilesVariableValue" + }, + "hyperlinkVariableValue": { + "$ref": "#/components/schemas/HyperlinkVariableValue" + } + }, + "description": "A value for a variable in a creative template.", + "x-nullable": false + }, + "JsonApiBodyWithoutIdOfCatalogRequestAndCatalogRequest": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "x-nullable": false + }, + "attributes": { + "$ref": "#/components/schemas/ExternalCatalogRequest" + } + }, + "description": "A JSON:API wrapper class to format a with Type, and\r\nAttributes properties", + "x-nullable": false + }, + "Creative202110": { + "required": [ + "name", + "status", + "retailerId" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "x-nullable": false + }, + "status": { + "enum": [ + "Ready", + "In_Use", + "Archived", + "Deleted" + ], + "type": "string", + "x-nullable": false + }, + "brandId": { + "type": "integer", + "format": "int64", + "nullable": true, + "x-nullable": true + }, + "retailerId": { + "type": "integer", + "format": "int32", + "x-nullable": false + }, + "associatedLineItemIds": { + "type": "array", + "items": { + "type": "string", + "x-nullable": false + }, + "x-nullable": false + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "x-nullable": false + } + }, + "description": "Metadata and usage info of a preferred deals creative", + "x-nullable": false + }, + "Creative202210": { + "required": [ + "name", + "status", + "retailerId", + "templateId", + "templateName", + "formatId", + "creativeFormatType", + "environments", + "templateVariableValues" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name", + "x-nullable": false + }, + "status": { + "enum": [ + "Ready", + "In_Use", + "Archived", + "Deleted" + ], + "type": "string", + "description": "Creative Status", + "x-nullable": false + }, + "brandId": { + "type": "integer", + "description": "Brand Id", + "format": "int64", + "nullable": true, + "x-nullable": true + }, + "retailerId": { + "type": "integer", + "description": "Retailer Id", + "format": "int32", + "x-nullable": false }, - "status": { + "templateId": { "type": "integer", - "description": "The problem's HTTP Status code.", + "description": "Template Id", "format": "int32", - "nullable": true - } - }, - "additionalProperties": { }, - "description": "Common problem object." - }, - "ProposalStatusModelResource": { - "type": "object", - "properties": { - "id": { - "type": "string", - "nullable": true + "x-nullable": false }, - "type": { + "templateName": { "type": "string", - "nullable": true + "description": "Template Name", + "x-nullable": false }, - "attributes": { - "$ref": "#/components/schemas/ProposalStatusModel" - } - }, - "additionalProperties": false, - "description": "Resource object containing the state of a proposal in the context of a line item." - }, - "AddRemoveKeywordsModelResource": { - "type": "object", - "properties": { - "id": { - "type": "string", - "nullable": true + "formatId": { + "type": "integer", + "description": "Format Id", + "format": "int32", + "x-nullable": false }, - "type": { - "type": "string", - "nullable": true + "associatedLineItemIds": { + "type": "array", + "items": { + "type": "string", + "x-nullable": false + }, + "description": "Associated Line Item Ids", + "x-nullable": false }, - "attributes": { - "$ref": "#/components/schemas/AddRemoveKeywordsModel" - } - }, - "additionalProperties": false, - "description": "Resource object containing keywords to be added or removed from a line item" - }, - "SetBidsModelResource": { - "type": "object", - "properties": { - "id": { + "updatedAt": { "type": "string", - "nullable": true + "description": "Updated at time", + "format": "date-time", + "x-nullable": false }, - "type": { + "creativeFormatType": { + "enum": [ + "Unknown", + "FlagShip", + "Showcase", + "SponsoredProducts", + "Butterfly", + "BundleBoost", + "IAB", + "CUSTOM", + "DisplayPanel", + "DigitalShelfTalker" + ], "type": "string", - "nullable": true + "description": "Creative format type", + "x-nullable": false }, - "attributes": { - "$ref": "#/components/schemas/SetBidsModel" - } - }, - "additionalProperties": false, - "description": "Resource object containing keywords and their associated bid overrides" - }, - "KeywordsModel": { - "type": "object", - "properties": { - "keywords": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/KeywordDataModel" + "environments": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PageTypeEnvironment" }, - "nullable": true + "description": "Environment type (e.g. mobile, web, app)", + "x-nullable": false }, - "rank": { + "templateVariableValues": { "type": "array", "items": { - "type": "string" + "$ref": "#/components/schemas/TemplateVariableValue" }, - "nullable": true + "description": "The template chosen values", + "x-nullable": false } }, - "additionalProperties": false, - "description": "The keywords associated with a line item." + "description": "A creative entity", + "x-nullable": false }, - "ProposalStatusModel": { + "ExternalCatalogStatus": { + "required": [ + "status", + "currency", + "rowCount", + "fileSizeBytes", + "md5Checksum", + "createdAt", + "message" + ], "type": "object", "properties": { - "negotiationState": { - "$ref": "#/components/schemas/NegotiationStateModel" + "status": { + "enum": [ + "unknown", + "pending", + "success", + "failure", + "expired" + ], + "type": "string", + "description": "An enumeration of the status of the catalog.", + "x-nullable": false }, - "bookingStatus": { - "$ref": "#/components/schemas/ApprovalStatusModel" + "currency": { + "type": "string", + "description": "An ISO4217 representation of the currency products are listed under in this catalog.", + "x-nullable": false }, - "runnableStatus": { - "$ref": "#/components/schemas/ApprovalStatusModel" + "rowCount": { + "type": "integer", + "description": "An indication of the number of products contained in this catalog. Available when\r\nthis catalog reaches a success status.", + "format": "int32", + "nullable": true, + "x-nullable": true }, - "comment": { + "fileSizeBytes": { + "type": "integer", + "description": "The size of this catalog in bytes. Available when this catalog reaches a success status.", + "format": "int32", + "nullable": true, + "x-nullable": true + }, + "md5Checksum": { "type": "string", - "nullable": true + "description": "An MD5 checksum of the catalog for use in confirming complete and uncorrupted retrieval.\r\nAvailable when this catalog reaches a success status.", + "nullable": true, + "x-nullable": true }, "createdAt": { "type": "string", + "description": "The time this catalog was created. Represented as a UTC ISO8601 string.", "format": "date-time", - "nullable": true + "x-nullable": false }, - "updatedAt": { + "message": { "type": "string", - "format": "date-time", - "nullable": true - } - }, - "additionalProperties": false, - "description": "The state of a proposal in the context of a line item." - }, - "AddRemoveKeywordsModel": { - "type": "object", - "properties": { - "keywords": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AddRemoveKeywordModel" - }, - "nullable": true - } - }, - "additionalProperties": false, - "description": "Data model containing keywords to be added or removed from a line item" - }, - "SetBidsModel": { - "type": "object", - "properties": { - "keywords": { - "type": "array", - "items": { - "$ref": "#/components/schemas/SetBidModel" - }, - "nullable": true + "description": "An optional information message intended for developer consumption.", + "nullable": true, + "x-nullable": true } }, - "additionalProperties": false, - "description": "Data model containing keywords and their associated bid overrides" + "description": "The status of an asynchronous request to generate a catalog", + "x-nullable": false }, - "KeywordDataModel": { + "Template": { + "required": [ + "creativeFormat", + "name", + "skuCollectionMin", + "skuPerCollectionMin", + "allCollectionsMandatory", + "createdAt", + "updatedAt", + "sections" + ], "type": "object", "properties": { - "reviewState": { - "$ref": "#/components/schemas/ReviewStateModel" + "creativeFormat": { + "enum": [ + "Unknown", + "FlagShip", + "Showcase", + "SponsoredProducts", + "Butterfly", + "BundleBoost", + "IAB", + "CUSTOM", + "DisplayPanel", + "DigitalShelfTalker" + ], + "type": "string", + "description": "The kind of creative this template can be used to build.", + "x-nullable": false + }, + "name": { + "type": "string", + "description": "The name of the template", + "x-nullable": false + }, + "retailerId": { + "type": "integer", + "description": "The retailer associated to the template", + "format": "int32", + "x-nullable": false + }, + "skuCollectionMin": { + "type": "integer", + "description": "TODO: what is it ?", + "format": "int32", + "x-nullable": false }, - "matchType": { - "$ref": "#/components/schemas/MatchTypeModel" + "skuCollectionMax": { + "type": "integer", + "description": "TODO: what is it ?", + "format": "int32", + "nullable": true, + "x-nullable": true }, - "bid": { - "type": "number", - "format": "double", - "nullable": true + "skuPerCollectionMin": { + "type": "integer", + "description": "TODO: what is it ?", + "format": "int32", + "x-nullable": false }, - "inputKeywords": { - "$ref": "#/components/schemas/InputKeywordsModel" + "skuPerCollectionMax": { + "type": "integer", + "description": "TODO: what is it ?", + "format": "int32", + "nullable": true, + "x-nullable": true + }, + "displayableSkusMax": { + "type": "integer", + "description": "TODO: what is it ?", + "format": "int32", + "nullable": true, + "x-nullable": true + }, + "allCollectionsMandatory": { + "type": "boolean", + "description": "TODO: what is it ?", + "x-nullable": false }, "createdAt": { "type": "string", + "description": "The time at which the template was created", "format": "date-time", - "nullable": true + "x-nullable": false }, "updatedAt": { "type": "string", + "description": "The time at which the template was updated", "format": "date-time", - "nullable": true - } - }, - "additionalProperties": false, - "description": "A single keyword and associated bid override" - }, - "NegotiationStateModel": { - "enum": [ - "Invalid", - "Modified", - "Submitted", - "Reviewed", - "Approved" - ], - "type": "string", - "description": "The state of a negotiation in the context of a line item." - }, - "ApprovalStatusModel": { - "enum": [ - "NotSubmitted", - "Submitted", - "Rejected", - "Approved" - ], - "type": "string", - "description": "The status of a booking or runnable in the context of a line item." - }, - "AddRemoveKeywordModel": { - "type": "object", - "properties": { - "phrase": { - "maxLength": 255, - "minLength": 0, - "type": "string", - "nullable": true - }, - "matchType": { - "$ref": "#/components/schemas/MatchTypeModel" + "x-nullable": false }, - "isDeleted": { - "type": "boolean", - "nullable": true + "sections": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Section" + }, + "description": "The sections holding various template variables", + "x-nullable": false } }, - "additionalProperties": false, - "description": "A single keyword to be added or removed" + "description": "A template for creating creatives.", + "x-nullable": false }, - "SetBidModel": { + "TextVariableValue": { + "required": [ + "text" + ], "type": "object", "properties": { - "phrase": { - "maxLength": 255, - "minLength": 0, + "text": { "type": "string", - "nullable": true - }, - "bid": { - "type": "number", - "format": "double", - "nullable": true + "description": "The displayed text", + "x-nullable": false } }, - "additionalProperties": false, - "description": "A single keyword and associated bid override" - }, - "ReviewStateModel": { - "enum": [ - "InReview", - "Recommended", - "Approved", - "AutoApproved", - "Rejected", - "AutoRejected" - ], - "type": "string", - "description": "The state of a keyword in the context of a line item." + "description": "A value of a template text variable", + "x-nullable": false }, - "MatchTypeModel": { - "enum": [ - "PositiveExactMatch", - "NegativeExactMatch", - "NegativeBroadMatch" + "ChoiceVariableValue": { + "required": [ + "chosenOptions" ], - "type": "string", - "description": "The match type of a keyword." - }, - "InputKeywordsModel": { "type": "object", "properties": { - "negativeBroad": { - "type": "array", - "items": { - "type": "string" - }, - "nullable": true - }, - "negativeExact": { - "type": "array", - "items": { - "type": "string" - }, - "nullable": true - }, - "positiveExact": { + "chosenOptions": { "type": "array", "items": { - "type": "string" + "type": "string", + "x-nullable": false }, - "nullable": true + "description": "The chosen options", + "x-nullable": false } }, - "additionalProperties": false, - "description": "The keywords to be added or removed from a line item." + "description": "A value of a template choice variable (among different accepted options)", + "x-nullable": false }, - "Creative202110ListResponse": { + "ColorVariableValue": { + "required": [ + "color" + ], "type": "object", "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ResourceOfCreative202110" - }, - "x-nullable": false - }, - "warnings": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ProblemDetails" - }, - "readOnly": true, - "x-nullable": false - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ProblemDetails" - }, - "readOnly": true, + "color": { + "pattern": "^#(([0-9a-fA-F]{2}){3}|([0-9a-fA-F]){3})$", + "type": "string", + "description": "The displayed color (HEX format)", "x-nullable": false } }, - "description": "Data model for a list of response resources", + "description": "A value of a template color variable", "x-nullable": false }, - "Creative202210Response": { + "FilesVariableValue": { + "required": [ + "assetIds" + ], "type": "object", "properties": { - "data": { - "$ref": "#/components/schemas/ResourceOfCreative202210" - }, - "warnings": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ProblemDetails" - }, - "readOnly": true, - "x-nullable": false - }, - "errors": { + "assetIds": { + "minLength": 1, "type": "array", "items": { - "$ref": "#/components/schemas/ProblemDetails" + "type": "string", + "x-nullable": false }, - "readOnly": true, + "description": "The assets representing the images to be displayed", "x-nullable": false } }, - "description": "Data model for response resource", + "description": "A value of a template file variable (one or several files), like images in a creative", "x-nullable": false }, - "Creative202210ListResponse": { + "HyperlinkVariableValue": { + "required": [ + "url" + ], "type": "object", "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ResourceOfCreative202210" - }, - "x-nullable": false - }, - "warnings": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ProblemDetails" - }, - "readOnly": true, - "x-nullable": false - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ProblemDetails" - }, - "readOnly": true, + "url": { + "type": "string", + "description": "The url to redirect to", "x-nullable": false } }, - "description": "Data model for a list of response resources", + "description": "A value of a template hyperlink variable", "x-nullable": false }, - "JsonApiSingleResponseOfCatalogStatus": { - "required": [ - "data" - ], + "ExternalCatalogRequest": { "type": "object", "properties": { - "data": { - "$ref": "#/components/schemas/JsonApiBodyWithIdOfInt64AndCatalogStatusAndCatalogStatus" - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CommonError" - }, + "format": { + "enum": [ + "json-newline" + ], + "type": "string", + "default": "json-newline", "x-nullable": false }, - "warnings": { + "brandIdFilter": { "type": "array", "items": { - "$ref": "#/components/schemas/CommonWarning" + "type": "string", + "format": "long-id" }, "x-nullable": false } }, - "description": "A JSON:API wrapper class to add one JSON:API within a data property", + "description": "A request for a catalog under the specified format. Currently \"json-newline\" is supported.", "x-nullable": false }, - "Category202204ListResponse": { + "PageTypeEnvironment": { "type": "object", "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ResourceOfCategory202204" - }, + "pageType": { + "enum": [ + "Search", + "Home", + "Browse", + "Checkout", + "Category", + "ProductDetail", + "Confirmation", + "Merchandising", + "Deals" + ], + "type": "string", + "description": "Creative PageType", "x-nullable": false }, - "warnings": { + "environments": { "type": "array", "items": { - "$ref": "#/components/schemas/ProblemDetails" + "enum": [ + "Web", + "Mobile", + "App", + "Lockout", + "Mixed", + "iOS", + "Android" + ], + "type": "string", + "x-nullable": false }, - "readOnly": true, + "description": "List of environments per PageType", + "x-nullable": false + } + }, + "description": "The PageType-Environment Tuples for creatives", + "x-nullable": false + }, + "Section": { + "required": [ + "title", + "templateVariables" + ], + "type": "object", + "properties": { + "title": { + "type": "string", "x-nullable": false }, - "errors": { + "templateVariables": { "type": "array", "items": { - "$ref": "#/components/schemas/ProblemDetails" + "$ref": "#/components/schemas/TemplateVariable" }, - "readOnly": true, "x-nullable": false } }, - "description": "Data model for a list of response resources", + "description": "Section object that hold template variables", "x-nullable": false }, - "Category202204": { + "TemplateVariable": { "required": [ - "text", - "name", - "parentId" + "id", + "required", + "type" ], "type": "object", "properties": { - "text": { + "id": { "type": "string", - "description": "Category Text", + "description": "The id of the variable", "x-nullable": false }, - "name": { - "type": "string", - "description": "Category Name", + "required": { + "type": "boolean", + "description": "Whether the variable is required", "x-nullable": false }, - "parentId": { + "type": { + "enum": [ + "Text", + "Choice", + "Color", + "Files", + "Hyperlink" + ], "type": "string", - "description": "Category ParentId", + "description": "The type of the variable", "x-nullable": false + }, + "choiceVariableSpecification": { + "$ref": "#/components/schemas/ChoiceVariableSpecification" + }, + "textVariableSpecification": { + "$ref": "#/components/schemas/TextVariableSpecification" + }, + "filesVariablesSpecification": { + "$ref": "#/components/schemas/FilesVariablesSpecification" } }, - "description": "List of retailer's categories, including the full hierarchy of categories and their parent category ID", + "description": "A variable in a creative template", "x-nullable": false }, - "TemplateListResponse": { + "ChoiceVariableSpecification": { + "required": [ + "options" + ], "type": "object", "properties": { - "data": { + "options": { "type": "array", "items": { - "$ref": "#/components/schemas/ResourceOfTemplate" + "$ref": "#/components/schemas/ChoiceOption" }, + "description": "The available options", "x-nullable": false }, - "warnings": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ProblemDetails" - }, - "readOnly": true, - "x-nullable": false + "maxSelected": { + "type": "integer", + "description": "The maximum number of selectable options", + "format": "int32", + "nullable": true, + "x-nullable": true }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ProblemDetails" - }, - "readOnly": true, - "x-nullable": false + "minSelected": { + "type": "integer", + "description": "The minimum number of selectable options", + "format": "int32", + "nullable": true, + "x-nullable": true } }, - "description": "Data model for a list of response resources", + "description": "Specification of choice variable", "x-nullable": false }, - "TemplateResponse": { + "TextVariableSpecification": { "type": "object", "properties": { - "data": { - "$ref": "#/components/schemas/ResourceOfTemplate" - }, - "warnings": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ProblemDetails" - }, - "readOnly": true, - "x-nullable": false - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ProblemDetails" - }, - "readOnly": true, - "x-nullable": false + "maxChars": { + "type": "integer", + "description": "The maximum amount of characters accepted for the text", + "format": "int32", + "nullable": true, + "x-nullable": true } }, - "description": "Data model for response resource", + "description": "Specification of a text variable", "x-nullable": false }, - "ExternalRetailerPages202110": { + "FilesVariablesSpecification": { + "required": [ + "extensions", + "minFiles" + ], "type": "object", "properties": { - "pageTypes": { + "extensions": { "type": "array", "items": { + "enum": [ + "Unknown", + "Jpeg", + "Png", + "Gif", + "Pdf" + ], "type": "string", "x-nullable": false }, - "description": "List of valid pages for a retailer", - "x-nullable": false - } - }, - "description": "Wraps a list of valid pages for a retailer", - "x-nullable": false - }, - "CreativeCreateModel202207": { - "required": [ - "name", - "retailerId", - "templateId", - "templateVariableValues" - ], - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "The name of the creative", - "x-nullable": false - }, - "brandId": { - "type": "integer", - "description": "The brand associated to the creative", - "format": "int64", + "description": "The accepted file extensions", "x-nullable": false }, - "retailerId": { + "maxBytes": { "type": "integer", - "description": "The retailer associated to the creative", + "description": "The maximum amount of bytes per file", "format": "int32", - "x-nullable": false + "nullable": true, + "x-nullable": true }, - "templateId": { + "minFiles": { "type": "integer", - "description": "The creative template used for this creative", + "description": "The minimum amount of files requires", "format": "int32", - "x-nullable": false - }, - "templateVariableValues": { - "type": "array", - "items": { - "$ref": "#/components/schemas/TemplateVariableValue" - }, - "description": "The template chosen values", - "x-nullable": false + "nullable": true, + "x-nullable": true + }, + "maxFile": { + "type": "integer", + "description": "The maximum amount of files required", + "format": "int32", + "nullable": true, + "x-nullable": true } }, - "description": "Create model of a creative", + "description": "Specification of a file variable", "x-nullable": false }, - "CreativeUpdateModel202207": { + "ChoiceOption": { "required": [ - "name", - "retailerId", - "templateId", - "templateVariableValues" + "dependentVariables", + "id" ], "type": "object", "properties": { - "name": { - "type": "string", - "description": "The name of the creative", + "dependentVariables": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TemplateVariable" + }, + "description": "Template variables unblocked when the option is chosen", "x-nullable": false }, - "brandId": { - "type": "integer", - "description": "The brand associated to the creative", - "format": "int64", + "id": { + "type": "string", + "description": "The id of the option", "x-nullable": false + } + }, + "description": "An option given in a choice", + "x-nullable": false + }, + "AsyncReportResponse": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/StatusResponseResource" }, - "retailerId": { - "type": "integer", - "description": "The retailer associated to the creative", - "format": "int32", - "x-nullable": false + "warnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true }, - "templateId": { - "type": "integer", - "description": "The creative template used for this creative", - "format": "int32", - "x-nullable": false + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true + } + }, + "description": "Async Report response format" + }, + "ReportOutcome": { + "type": "object", + "properties": { + "warnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true }, - "templateVariableValues": { + "errors": { "type": "array", "items": { - "$ref": "#/components/schemas/TemplateVariableValue" + "$ref": "#/components/schemas/CommonProblem" }, - "description": "The template chosen values", - "x-nullable": false + "nullable": true, + "readOnly": true } }, - "description": "Update model of a creative", - "x-nullable": false + "description": "The outcome of an API call." }, - "JsonApiRequestOfCatalogRequest": { + "AsyncCampaignsReportRequest": { "type": "object", "properties": { "data": { - "$ref": "#/components/schemas/JsonApiBodyWithoutIdOfCatalogRequestAndCatalogRequest" + "$ref": "#/components/schemas/AsyncCampaignsReportResource" } }, - "description": "A JSON:API wrapper class to format a with Type, and Attributes properties", - "x-nullable": false + "description": "A top-level object that encapsulates a Criteo API request for a single value" }, - "ResourceOfCreative202110": { + "AsyncLineItemsReportRequest": { "type": "object", "properties": { - "id": { - "type": "string", - "description": "Id of the entity", - "nullable": true - }, - "type": { - "type": "string", - "description": "Canonical type name of the entity", - "nullable": true - }, - "attributes": { - "$ref": "#/components/schemas/Creative202110" + "data": { + "$ref": "#/components/schemas/AsyncLineItemsReportResource" } }, - "description": "Data model for a Resource", - "x-nullable": false + "description": "A top-level object that encapsulates a Criteo API request for a single value" }, - "ProblemDetails": { + "AsyncRevenueReportRequest": { "type": "object", "properties": { - "traceId": { - "type": "string", - "description": "The request correlation ID this problem comes from.", - "nullable": true - }, - "traceIdentifier": { - "type": "string", - "description": "The request correlation ID this problem comes from. (deprecated, use traceId instead)", - "nullable": true - }, - "type": { - "enum": [ - "unknown", - "access-control", - "authentication", - "authorization", - "availability", - "deprecation", - "quota", - "validation" - ], - "type": "string", - "description": "The problem's category.", - "x-nullable": false - }, - "code": { - "type": "string", - "description": "A machine-readable error code, expressed as a string value.", - "x-nullable": false - }, - "instance": { - "type": "string", - "description": "A URI that identifies the specific occurrence of the problem.", - "x-nullable": false - }, - "title": { - "type": "string", - "description": "A short human-readable description of the problem type", - "x-nullable": false - }, - "detail": { - "type": "string", - "description": "A human-readable explanation specific to this occurrence of the problem", - "x-nullable": false - }, - "source": { - "type": "object", - "additionalProperties": { - "type": "string", - "x-nullable": false - }, - "description": "A machine-readable structure to reference to the exact location(s) causing the error(s)", - "x-nullable": false - }, - "stackTrace": { - "type": "string", - "description": "Technical information, only used in non-prod environments", - "x-nullable": false + "data": { + "$ref": "#/components/schemas/AsyncRevenueReportResource" } }, - "description": "Data model for common error or warning", - "x-nullable": false + "description": "A top-level object that encapsulates a Criteo API request for a single value" }, - "ResourceOfCreative202210": { + "StatusResponseResource": { "type": "object", "properties": { "attributes": { - "$ref": "#/components/schemas/Creative202210" + "$ref": "#/components/schemas/StatusResponse" }, "id": { "type": "string", - "description": "Id of the entity", "nullable": true }, "type": { "type": "string", - "description": "Canonical type name of the entity", "nullable": true } }, - "description": "Data model for a Resource", - "x-nullable": false + "description": "A class that represents a domain entity exposed by an API" }, - "JsonApiBodyWithIdOfInt64AndCatalogStatusAndCatalogStatus": { - "required": [ - "id", - "type" - ], + "AsyncCampaignsReportResource": { "type": "object", "properties": { - "id": { - "type": "string", - "format": "long-id", - "x-nullable": false - }, "type": { "type": "string", - "x-nullable": false + "nullable": true }, "attributes": { - "$ref": "#/components/schemas/ExternalCatalogStatus" + "$ref": "#/components/schemas/AsyncCampaignsReport" } }, - "description": "A JSON:API wrapper class to format a with external Id, Type, and\r\nAttributes properties", - "x-nullable": false + "description": "A top-level object that encapsulates a Criteo API response for a single value" }, - "ResourceOfCategory202204": { + "AsyncLineItemsReportResource": { "type": "object", "properties": { - "attributes": { - "$ref": "#/components/schemas/Category202204" - }, - "id": { + "type": { "type": "string", - "description": "Id of the entity", "nullable": true }, + "attributes": { + "$ref": "#/components/schemas/AsyncLineItemsReport" + } + }, + "description": "A top-level object that encapsulates a Criteo API response for a single value" + }, + "AsyncRevenueReportResource": { + "type": "object", + "properties": { "type": { "type": "string", - "description": "Canonical type name of the entity", "nullable": true + }, + "attributes": { + "$ref": "#/components/schemas/AsyncRevenueReport" } }, - "description": "Data model for a Resource", - "x-nullable": false + "description": "A top-level object that encapsulates a Criteo API response for a single value" }, - "ResourceOfTemplate": { + "StatusResponse": { "type": "object", "properties": { - "attributes": { - "$ref": "#/components/schemas/Template" + "status": { + "enum": [ + "pending", + "success", + "failure", + "expired" + ], + "type": "string", + "nullable": true + }, + "rowCount": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "fileSizeBytes": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "md5CheckSum": { + "type": "string", + "nullable": true }, - "id": { + "createdAt": { "type": "string", - "description": "Id of the entity", "nullable": true }, - "type": { + "expiresAt": { + "type": "string", + "nullable": true + }, + "message": { + "type": "string", + "nullable": true + }, + "id": { "type": "string", - "description": "Canonical type name of the entity", "nullable": true } }, - "description": "Data model for a Resource", - "x-nullable": false + "description": "Status of an async report request", + "x-criteo-canonical": { + "infoType": "entity" + } }, - "TemplateVariableValue": { + "AsyncCampaignsReport": { "required": [ - "id" + "endDate", + "startDate" ], "type": "object", "properties": { + "ids": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Campaign ids to report on", + "nullable": true + }, "id": { "type": "string", - "description": "The id of the template variable the value is applied to", - "x-nullable": false - }, - "textVariableValue": { - "$ref": "#/components/schemas/TextVariableValue" - }, - "choiceVariableValue": { - "$ref": "#/components/schemas/ChoiceVariableValue" + "description": "Campaign id to report on", + "nullable": true }, - "colorVariableValue": { - "$ref": "#/components/schemas/ColorVariableValue" + "campaignType": { + "enum": [ + "all", + "sponsoredProducts", + "onSiteDisplays" + ], + "type": "string", + "description": "Filter the type of campaigns to report on: sponsoredProducts or onSiteDisplays", + "default": "all", + "nullable": true }, - "filesVariableValue": { - "$ref": "#/components/schemas/FilesVariableValue" + "salesChannel": { + "enum": [ + "all", + "offline", + "online" + ], + "type": "string", + "description": "Filter on specific sales channel: offline or online", + "default": "all", + "nullable": true }, - "hyperlinkVariableValue": { - "$ref": "#/components/schemas/HyperlinkVariableValue" - } - }, - "description": "A value for a variable in a creative template.", - "x-nullable": false - }, - "JsonApiBodyWithoutIdOfCatalogRequestAndCatalogRequest": { - "required": [ - "type" - ], - "type": "object", - "properties": { - "type": { + "format": { + "enum": [ + "json", + "json-compact", + "json-newline", + "csv" + ], "type": "string", - "x-nullable": false + "description": "Format of the output", + "default": "json-compact", + "nullable": true }, - "attributes": { - "$ref": "#/components/schemas/ExternalCatalogRequest" - } - }, - "description": "A JSON:API wrapper class to format a with Type, and\r\nAttributes properties", - "x-nullable": false - }, - "Creative202110": { - "required": [ - "name", - "status", - "retailerId" - ], - "type": "object", - "properties": { - "name": { + "reportType": { + "enum": [ + "summary", + "pageType", + "keyword", + "productCategory", + "product", + "attributedTransactions", + "environment", + "servedCategory" + ], "type": "string", - "x-nullable": false + "description": "Type of report, if no dimensions/metrics are provided, falls back to summary reportType", + "default": "summary", + "nullable": true }, - "status": { + "clickAttributionWindow": { "enum": [ - "Ready", - "In_Use", - "Archived", - "Deleted" + "none", + "7D", + "14D", + "30D" ], "type": "string", - "x-nullable": false + "description": "Click attribution window", + "default": "none", + "nullable": true }, - "brandId": { - "type": "integer", - "format": "int64", - "nullable": true, - "x-nullable": true + "viewAttributionWindow": { + "enum": [ + "none", + "1D", + "7D", + "14D", + "30D" + ], + "type": "string", + "description": "View attribution window", + "default": "none", + "nullable": true }, - "retailerId": { - "type": "integer", - "format": "int32", - "x-nullable": false + "dimensions": { + "type": "array", + "items": { + "enum": [ + "date", + "hour", + "accountId", + "accountName", + "campaignId", + "campaignName", + "campaignTypeName", + "lineItemId", + "lineItemName", + "retailerId", + "retailerName", + "brandId", + "brandName", + "advProductCategory", + "advProductId", + "advProductName", + "salesChannel", + "environment", + "pageTypeName", + "pageCategory", + "taxonomyBreadcrumb", + "keyword", + "searchTerm" + ], + "type": "string" + }, + "description": "List of dimensions to report on", + "nullable": true }, - "associatedLineItemIds": { + "metrics": { "type": "array", "items": { - "type": "string", - "x-nullable": false + "enum": [ + "impressions", + "clicks", + "spend", + "attributedSales", + "attributedUnits", + "attributedOrders", + "assistedSales", + "assistedUnits", + "ctr", + "cpc", + "cpo", + "cpm", + "roas", + "videoViews", + "videosStarted", + "videosPlayedTo25", + "videosPlayedTo50", + "videosPlayedTo75", + "videosPlayedTo100", + "videoPlayingRate", + "videoCompletionRate", + "uniqueVisitors", + "frequency" + ], + "type": "string" }, - "x-nullable": false + "description": "List of metrics to report on", + "nullable": true }, - "updatedAt": { + "startDate": { "type": "string", - "format": "date-time", - "x-nullable": false + "description": "Start date", + "format": "date-time" + }, + "endDate": { + "type": "string", + "description": "End date", + "format": "date-time" + }, + "timezone": { + "type": "string", + "description": "Time zone : see criteo developer portal for supported time zones", + "default": "UTC", + "nullable": true } }, - "description": "Metadata and usage info of a preferred deals creative", - "x-nullable": false + "description": "Async Campaigns report body request" }, - "Creative202210": { + "AsyncLineItemsReport": { "required": [ - "name", - "status", - "retailerId", - "templateId", - "templateName", - "formatId", - "creativeFormatType", - "environments", - "templateVariableValues" + "endDate", + "startDate" ], "type": "object", "properties": { - "name": { + "ids": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Line Item ids to report on", + "nullable": true + }, + "id": { "type": "string", - "description": "Name", - "x-nullable": false + "description": "Line Item id to report on", + "nullable": true }, - "status": { + "campaignType": { "enum": [ - "Ready", - "In_Use", - "Archived", - "Deleted" + "all", + "sponsoredProducts", + "onSiteDisplays" ], "type": "string", - "description": "Creative Status", - "x-nullable": false - }, - "brandId": { - "type": "integer", - "description": "Brand Id", - "format": "int64", - "nullable": true, - "x-nullable": true - }, - "retailerId": { - "type": "integer", - "description": "Retailer Id", - "format": "int32", - "x-nullable": false - }, - "templateId": { - "type": "integer", - "description": "Template Id", - "format": "int32", - "x-nullable": false + "description": "Filter the type of campaigns to report on: sponsoredProducts or onSiteDisplays", + "default": "all", + "nullable": true }, - "templateName": { + "salesChannel": { + "enum": [ + "all", + "offline", + "online" + ], "type": "string", - "description": "Template Name", - "x-nullable": false + "description": "Filter on specific sales channel: offline or online", + "default": "all", + "nullable": true }, - "formatId": { - "type": "integer", - "description": "Format Id", - "format": "int32", - "x-nullable": false + "format": { + "enum": [ + "json", + "json-compact", + "json-newline", + "csv" + ], + "type": "string", + "description": "Format of the output", + "default": "json-compact", + "nullable": true }, - "associatedLineItemIds": { - "type": "array", - "items": { - "type": "string", - "x-nullable": false - }, - "description": "Associated Line Item Ids", - "x-nullable": false + "reportType": { + "enum": [ + "summary", + "pageType", + "keyword", + "productCategory", + "product", + "attributedTransactions", + "environment", + "servedCategory" + ], + "type": "string", + "description": "Type of report, if no dimensions/metrics are provided, falls back to summary reportType", + "default": "summary", + "nullable": true }, - "updatedAt": { + "clickAttributionWindow": { + "enum": [ + "none", + "7D", + "14D", + "30D" + ], "type": "string", - "description": "Updated at time", - "format": "date-time", - "x-nullable": false + "description": "Click attribution window", + "default": "none", + "nullable": true }, - "creativeFormatType": { + "viewAttributionWindow": { "enum": [ - "Unknown", - "FlagShip", - "Showcase", - "SponsoredProducts", - "Butterfly", - "BundleBoost", - "IAB", - "CUSTOM", - "DisplayPanel", - "DigitalShelfTalker" + "none", + "1D", + "7D", + "14D", + "30D" ], "type": "string", - "description": "Creative format type", - "x-nullable": false + "description": "View attribution window", + "default": "none", + "nullable": true }, - "environments": { + "dimensions": { "type": "array", "items": { - "$ref": "#/components/schemas/PageTypeEnvironment" + "enum": [ + "date", + "hour", + "accountId", + "accountName", + "campaignId", + "campaignName", + "campaignTypeName", + "lineItemId", + "lineItemName", + "retailerId", + "retailerName", + "brandId", + "brandName", + "advProductCategory", + "advProductId", + "advProductName", + "salesChannel", + "environment", + "pageTypeName", + "pageCategory", + "taxonomyBreadcrumb", + "keyword", + "searchTerm" + ], + "type": "string" }, - "description": "Environment type (e.g. mobile, web, app)", - "x-nullable": false + "description": "List of dimensions to report on", + "nullable": true }, - "templateVariableValues": { + "metrics": { "type": "array", "items": { - "$ref": "#/components/schemas/TemplateVariableValue" + "enum": [ + "impressions", + "clicks", + "spend", + "attributedSales", + "attributedUnits", + "attributedOrders", + "assistedSales", + "assistedUnits", + "ctr", + "cpc", + "cpo", + "cpm", + "roas", + "videoViews", + "videosStarted", + "videosPlayedTo25", + "videosPlayedTo50", + "videosPlayedTo75", + "videosPlayedTo100", + "videoPlayingRate", + "videoCompletionRate", + "uniqueVisitors", + "frequency" + ], + "type": "string" }, - "description": "The template chosen values", - "x-nullable": false - } - }, - "description": "A creative entity", - "x-nullable": false - }, - "ExternalCatalogStatus": { - "required": [ - "status", - "currency", - "rowCount", - "fileSizeBytes", - "md5Checksum", - "createdAt", - "message" - ], - "type": "object", - "properties": { - "status": { - "enum": [ - "unknown", - "pending", - "success", - "failure", - "expired" - ], - "type": "string", - "description": "An enumeration of the status of the catalog.", - "x-nullable": false - }, - "currency": { - "type": "string", - "description": "An ISO4217 representation of the currency products are listed under in this catalog.", - "x-nullable": false - }, - "rowCount": { - "type": "integer", - "description": "An indication of the number of products contained in this catalog. Available when\r\nthis catalog reaches a success status.", - "format": "int32", - "nullable": true, - "x-nullable": true - }, - "fileSizeBytes": { - "type": "integer", - "description": "The size of this catalog in bytes. Available when this catalog reaches a success status.", - "format": "int32", - "nullable": true, - "x-nullable": true + "description": "List of metrics to report on", + "nullable": true }, - "md5Checksum": { + "startDate": { "type": "string", - "description": "An MD5 checksum of the catalog for use in confirming complete and uncorrupted retrieval.\r\nAvailable when this catalog reaches a success status.", - "nullable": true, - "x-nullable": true + "description": "Start date", + "format": "date-time" }, - "createdAt": { - "type": "string", - "description": "The time this catalog was created. Represented as a UTC ISO8601 string.", - "format": "date-time", - "x-nullable": false + "endDate": { + "type": "string", + "description": "End date", + "format": "date-time" }, - "message": { + "timezone": { "type": "string", - "description": "An optional information message intended for developer consumption.", - "nullable": true, - "x-nullable": true + "description": "Time zone : see criteo developer portal for supported time zones", + "default": "UTC", + "nullable": true } }, - "description": "The status of an asynchronous request to generate a catalog", - "x-nullable": false + "description": "Async Line Items report body request" }, - "Template": { + "AsyncRevenueReport": { "required": [ - "creativeFormat", - "name", - "skuCollectionMin", - "skuPerCollectionMin", - "allCollectionsMandatory", - "createdAt", - "updatedAt", - "sections" + "endDate", + "startDate" ], "type": "object", "properties": { - "creativeFormat": { + "ids": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Supply account ids to report on", + "nullable": true + }, + "id": { + "type": "string", + "description": "Supply account id to report on", + "nullable": true + }, + "reportType": { "enum": [ - "Unknown", - "FlagShip", - "Showcase", - "SponsoredProducts", - "Butterfly", - "BundleBoost", - "IAB", - "CUSTOM", - "DisplayPanel", - "DigitalShelfTalker" + "advertiser", + "environment", + "pageType", + "productCategory", + "brand" ], "type": "string", - "description": "The kind of creative this template can be used to build.", - "x-nullable": false + "description": "Type of report", + "nullable": true }, - "name": { + "revenueType": { + "enum": [ + "auction", + "preferred" + ], "type": "string", - "description": "The name of the template", - "x-nullable": false - }, - "retailerId": { - "type": "integer", - "description": "The retailer associated to the template", - "format": "int32", - "x-nullable": false - }, - "skuCollectionMin": { - "type": "integer", - "description": "TODO: what is it ?", - "format": "int32", - "x-nullable": false - }, - "skuCollectionMax": { - "type": "integer", - "description": "TODO: what is it ?", - "format": "int32", - "nullable": true, - "x-nullable": true - }, - "skuPerCollectionMin": { - "type": "integer", - "description": "TODO: what is it ?", - "format": "int32", - "x-nullable": false - }, - "skuPerCollectionMax": { - "type": "integer", - "description": "TODO: what is it ?", - "format": "int32", - "nullable": true, - "x-nullable": true - }, - "displayableSkusMax": { - "type": "integer", - "description": "TODO: what is it ?", - "format": "int32", - "nullable": true, - "x-nullable": true - }, - "allCollectionsMandatory": { - "type": "boolean", - "description": "TODO: what is it ?", - "x-nullable": false + "description": "Type of revenue", + "nullable": true }, - "createdAt": { + "soldBy": { + "enum": [ + "directSold", + "indirectSold", + "privateMarket" + ], "type": "string", - "description": "The time at which the template was created", - "format": "date-time", - "x-nullable": false + "description": "Filter on the seller: Indirect Sold, Direct Sold or Private Market", + "nullable": true }, - "updatedAt": { + "buyType": { + "enum": [ + "auction", + "preferredDeals", + "sponsorship" + ], "type": "string", - "description": "The time at which the template was updated", - "format": "date-time", - "x-nullable": false + "description": "Filter on buy type: Auction, Preferred Deals or Sponsorship", + "nullable": true }, - "sections": { + "advertiserTypes": { "type": "array", "items": { - "$ref": "#/components/schemas/Section" + "enum": [ + "retailer", + "brand", + "seller" + ], + "type": "string" }, - "description": "The sections holding various template variables", - "x-nullable": false - } - }, - "description": "A template for creating creatives.", - "x-nullable": false - }, - "TextVariableValue": { - "required": [ - "text" - ], - "type": "object", - "properties": { - "text": { - "type": "string", - "description": "The displayed text", - "x-nullable": false - } - }, - "description": "A value of a template text variable", - "x-nullable": false - }, - "ChoiceVariableValue": { - "required": [ - "chosenOptions" - ], - "type": "object", - "properties": { - "chosenOptions": { + "description": "Filter on the type of advertiser: retailer, brand, seller", + "nullable": true + }, + "skuRelations": { "type": "array", "items": { - "type": "string", - "x-nullable": false + "enum": [ + "sameSku", + "sameParentSku", + "sameCategory", + "sameBrand", + "sameSeller" + ], + "type": "string" }, - "description": "The chosen options", - "x-nullable": false - } - }, - "description": "A value of a template choice variable (among different accepted options)", - "x-nullable": false - }, - "ColorVariableValue": { - "required": [ - "color" - ], - "type": "object", - "properties": { - "color": { - "pattern": "^#(([0-9a-fA-F]{2}){3}|([0-9a-fA-F]){3})$", + "description": "Filter on sku relations: Same SKU, Same Parent SKU, Same Category, Same Brand or Same Seller", + "nullable": true + }, + "format": { + "enum": [ + "json", + "json-compact", + "json-newline", + "csv" + ], "type": "string", - "description": "The displayed color (HEX format)", - "x-nullable": false - } - }, - "description": "A value of a template color variable", - "x-nullable": false - }, - "FilesVariableValue": { - "required": [ - "assetIds" - ], - "type": "object", - "properties": { - "assetIds": { - "minLength": 1, - "type": "array", - "items": { - "type": "string", - "x-nullable": false - }, - "description": "The assets representing the images to be displayed", - "x-nullable": false - } - }, - "description": "A value of a template file variable (one or several files), like images in a creative", - "x-nullable": false - }, - "HyperlinkVariableValue": { - "required": [ - "url" - ], - "type": "object", - "properties": { - "url": { + "description": "Format of the output", + "nullable": true + }, + "campaignType": { + "enum": [ + "all", + "sponsoredProducts", + "onSiteDisplays" + ], "type": "string", - "description": "The url to redirect to", - "x-nullable": false - } - }, - "description": "A value of a template hyperlink variable", - "x-nullable": false - }, - "ExternalCatalogRequest": { - "type": "object", - "properties": { - "format": { + "description": "Filter the type of campaigns to report on: sponsoredProducts or onSiteDisplays", + "default": "all", + "nullable": true + }, + "salesChannel": { + "enum": [ + "all", + "offline", + "online" + ], + "type": "string", + "description": "Filter on specific sales channel: offline or online", + "default": "all", + "nullable": true + }, + "clickAttributionWindow": { "enum": [ - "json-newline" + "none", + "7D", + "14D", + "30D" ], "type": "string", - "default": "json-newline", - "x-nullable": false + "description": "Click attribution window", + "default": "none", + "nullable": true }, - "brandIdFilter": { - "type": "array", - "items": { - "type": "string", - "format": "long-id" - }, - "x-nullable": false - } - }, - "description": "A request for a catalog under the specified format. Currently \"json-newline\" is supported.", - "x-nullable": false - }, - "PageTypeEnvironment": { - "type": "object", - "properties": { - "pageType": { + "viewAttributionWindow": { "enum": [ - "Search", - "Home", - "Browse", - "Checkout", - "Category", - "ProductDetail", - "Confirmation", - "Merchandising", - "Deals" + "none", + "1D", + "7D", + "14D", + "30D" ], "type": "string", - "description": "Creative PageType", - "x-nullable": false + "description": "View attribution window", + "default": "none", + "nullable": true }, - "environments": { + "dimensions": { "type": "array", "items": { "enum": [ - "Web", - "Mobile", - "App", - "Lockout", - "Mixed", - "iOS", - "Android" + "date", + "hour", + "parentAccount", + "accountId", + "accountName", + "accountTypeName", + "advertiserType", + "campaignId", + "campaignName", + "campaignTypeName", + "campaignStartDate", + "campaignEndDate", + "lineItemId", + "lineItemName", + "lineItemStartDate", + "lineItemEndDate", + "lineItemStatus", + "retailerId", + "retailerName", + "brandId", + "brandName", + "placementId", + "placementName", + "pageTypeName", + "environment", + "pageCategory", + "advProductId", + "advProductName", + "advProductGtin", + "advProductMpn", + "buyType", + "soldBy", + "saleChannel", + "attributionSettings", + "activityType", + "keyword", + "skuRelation", + "retailerCategoryId", + "retailerCategoryName", + "taxonomyBreadcrumb", + "taxonomy1Id", + "taxonomy1Name", + "taxonomy2Id", + "taxonomy2Name", + "taxonomy3Id", + "taxonomy3Name", + "taxonomy4Id", + "taxonomy4Name", + "taxonomy5Id", + "taxonomy5Name", + "taxonomy6Id", + "taxonomy6Name", + "taxonomy7Id", + "taxonomy7Name" ], - "type": "string", - "x-nullable": false + "type": "string" }, - "description": "List of environments per PageType", - "x-nullable": false - } - }, - "description": "The PageType-Environment Tuples for creatives", - "x-nullable": false - }, - "Section": { - "required": [ - "title", - "templateVariables" - ], - "type": "object", - "properties": { - "title": { - "type": "string", - "x-nullable": false + "description": "List of dimensions to report on", + "nullable": true }, - "templateVariables": { + "metrics": { "type": "array", "items": { - "$ref": "#/components/schemas/TemplateVariable" + "enum": [ + "numberOfCampaigns", + "numberOfLineItems", + "numberOfSkus", + "skuPrice", + "pageViews", + "impressions", + "productClicks", + "placementClicks", + "clicks", + "sales", + "units", + "transactions", + "assistedSales", + "assistedUnits", + "revenue", + "openAuctionRevenue", + "preferredDealsRevenue", + "ctr", + "cr", + "cpc", + "cpm", + "roas", + "workingMedia", + "netRevenue", + "videoViews", + "videosStarted", + "videosPlayedTo25", + "videosPlayedTo50", + "videosPlayedTo75", + "videosPlayedTo100", + "videoPlayingRate", + "videoCompletionRate", + "uniqueVisitors", + "frequency" + ], + "type": "string" }, - "x-nullable": false + "description": "List of metrics to report on", + "nullable": true + }, + "startDate": { + "type": "string", + "description": "Start date", + "format": "date-time" + }, + "endDate": { + "type": "string", + "description": "End date", + "format": "date-time" + }, + "timezone": { + "type": "string", + "description": "Time zone : see criteo developer portal for supported time zones", + "default": "UTC", + "nullable": true } }, - "description": "Section object that hold template variables", - "x-nullable": false + "description": "Async Revenue report body request" }, - "TemplateVariable": { - "required": [ - "id", - "required", - "type" - ], + "ValueResourceOfRetailMediaBrands": { "type": "object", "properties": { - "id": { - "type": "string", - "description": "The id of the variable", - "x-nullable": false - }, - "required": { - "type": "boolean", - "description": "Whether the variable is required", - "x-nullable": false - }, "type": { - "enum": [ - "Text", - "Choice", - "Color", - "Files", - "Hyperlink" - ], "type": "string", - "description": "The type of the variable", - "x-nullable": false - }, - "choiceVariableSpecification": { - "$ref": "#/components/schemas/ChoiceVariableSpecification" - }, - "textVariableSpecification": { - "$ref": "#/components/schemas/TextVariableSpecification" + "nullable": true }, - "filesVariablesSpecification": { - "$ref": "#/components/schemas/FilesVariablesSpecification" + "attributes": { + "$ref": "#/components/schemas/RetailMediaBrands" } }, - "description": "A variable in a creative template", - "x-nullable": false + "additionalProperties": false, + "description": "A top-level object that encapsulates a Criteo API response for a single value." }, - "ChoiceVariableSpecification": { - "required": [ - "options" - ], + "ResourceOutcomeOfRetailMediaAccount": { "type": "object", "properties": { - "options": { + "data": { + "$ref": "#/components/schemas/ResourceOfRetailMediaAccount" + }, + "warnings": { "type": "array", "items": { - "$ref": "#/components/schemas/ChoiceOption" + "$ref": "#/components/schemas/CommonProblem" }, - "description": "The available options", - "x-nullable": false - }, - "maxSelected": { - "type": "integer", - "description": "The maximum number of selectable options", - "format": "int32", "nullable": true, - "x-nullable": true + "readOnly": true }, - "minSelected": { - "type": "integer", - "description": "The minimum number of selectable options", - "format": "int32", - "nullable": true, - "x-nullable": true - } - }, - "description": "Specification of choice variable", - "x-nullable": false - }, - "TextVariableSpecification": { - "type": "object", - "properties": { - "maxChars": { - "type": "integer", - "description": "The maximum amount of characters accepted for the text", - "format": "int32", + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, "nullable": true, - "x-nullable": true + "readOnly": true } }, - "description": "Specification of a text variable", - "x-nullable": false + "additionalProperties": false, + "description": "A top-level object that encapsulates a Criteo API response for a single entity." }, - "FilesVariablesSpecification": { - "required": [ - "extensions", - "minFiles" - ], + "ValueResourceCollectionOutcomeOfRetailMediaSeller": { "type": "object", "properties": { - "extensions": { + "data": { "type": "array", "items": { - "enum": [ - "Unknown", - "Jpeg", - "Png", - "Gif", - "Pdf" - ], - "type": "string", - "x-nullable": false + "$ref": "#/components/schemas/ValueResourceOfRetailMediaSeller" + }, + "nullable": true + }, + "warnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" }, - "description": "The accepted file extensions", - "x-nullable": false - }, - "maxBytes": { - "type": "integer", - "description": "The maximum amount of bytes per file", - "format": "int32", - "nullable": true, - "x-nullable": true - }, - "minFiles": { - "type": "integer", - "description": "The minimum amount of files requires", - "format": "int32", "nullable": true, - "x-nullable": true + "readOnly": true }, - "maxFile": { - "type": "integer", - "description": "The maximum amount of files required", - "format": "int32", + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, "nullable": true, - "x-nullable": true + "readOnly": true } }, - "description": "Specification of a file variable", - "x-nullable": false + "additionalProperties": false, + "description": "A top-level object that encapsulates a Criteo API response for several values." }, - "ChoiceOption": { + "PageOfBalanceHistoryChangeDataCaptureV1": { "required": [ - "dependentVariables", - "id" + "data", + "meta" ], "type": "object", "properties": { - "dependentVariables": { + "meta": { + "$ref": "#/components/schemas/Metadata" + }, + "data": { "type": "array", "items": { - "$ref": "#/components/schemas/TemplateVariable" - }, - "description": "Template variables unblocked when the option is chosen", - "x-nullable": false - }, - "id": { - "type": "string", - "description": "The id of the option", - "x-nullable": false + "$ref": "#/components/schemas/BalanceHistoryChangeDataCaptureV1" + } } }, - "description": "An option given in a choice", - "x-nullable": false + "additionalProperties": false, + "description": "A wrapper class to return a single page of items with metadata." }, - "AsyncReportResponse": { + "ValueResourceOutcomeOfCampaignBudgetOverrides": { "type": "object", "properties": { "data": { - "$ref": "#/components/schemas/StatusResponseResource" + "$ref": "#/components/schemas/ValueResourceOfCampaignBudgetOverrides" }, "warnings": { "type": "array", @@ -6943,11 +8773,15 @@ "readOnly": true } }, - "description": "Async Report response format" + "additionalProperties": false, + "description": "A top-level object that encapsulates a Criteo API response for a single value." }, - "ReportOutcome": { + "ValueResourceOutcomeOfLineItemBudgetOverrides": { "type": "object", "properties": { + "data": { + "$ref": "#/components/schemas/ValueResourceOfLineItemBudgetOverrides" + }, "warnings": { "type": "array", "items": { @@ -6965,34 +8799,97 @@ "readOnly": true } }, - "description": "The outcome of an API call." + "additionalProperties": false, + "description": "A top-level object that encapsulates a Criteo API response for a single value." }, - "AsyncCampaignsReportRequest": { + "ValueResourceInputOfRetailMediaBrands": { "type": "object", "properties": { "data": { - "$ref": "#/components/schemas/AsyncCampaignsReportResource" + "$ref": "#/components/schemas/ValueResourceOfRetailMediaBrands" } }, - "description": "A top-level object that encapsulates a Criteo API request for a single value" + "additionalProperties": false, + "description": "A top-level object that encapsulates a Criteo API request for a single value." }, - "AsyncLineItemsReportRequest": { + "ValueResourceInputOfRetailMediaBrandAccountCreation": { "type": "object", "properties": { "data": { - "$ref": "#/components/schemas/AsyncLineItemsReportResource" + "$ref": "#/components/schemas/ValueResourceOfRetailMediaBrandAccountCreation" } }, - "description": "A top-level object that encapsulates a Criteo API request for a single value" + "additionalProperties": false, + "description": "A top-level object that encapsulates a Criteo API request for a single value." }, - "StatusResponseResource": { + "ValueResourceInputOfRetailMediaSellerAccountCreation": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/ValueResourceOfRetailMediaSellerAccountCreation" + } + }, + "additionalProperties": false, + "description": "A top-level object that encapsulates a Criteo API request for a single value." + }, + "ValueResourceCollectionInputOfRetailMediaSeller": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ValueResourceOfRetailMediaSeller" + }, + "nullable": true + } + }, + "additionalProperties": false, + "description": "A top-level object that encapsulates a Criteo API request for several values." + }, + "ValueResourceInputOfCampaignBudgetOverrides": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/ValueResourceOfCampaignBudgetOverrides" + } + }, + "additionalProperties": false, + "description": "A top-level object that encapsulates a Criteo API request for a single value." + }, + "ValueResourceInputOfLineItemBudgetOverrides": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/ValueResourceOfLineItemBudgetOverrides" + } + }, + "additionalProperties": false, + "description": "A top-level object that encapsulates a Criteo API request for a single value." + }, + "RetailMediaBrands": { + "type": "object", + "properties": { + "brandIds": { + "type": "array", + "items": { + "type": "integer", + "format": "int64" + }, + "nullable": true + } + }, + "additionalProperties": false, + "description": "A collection of brand ids" + }, + "ResourceOfRetailMediaAccount": { "type": "object", "properties": { "attributes": { - "$ref": "#/components/schemas/StatusResponse" + "$ref": "#/components/schemas/RetailMediaAccount" }, "id": { "type": "string", + "description": "Unique identifier of this resource.", "nullable": true }, "type": { @@ -7000,9 +8897,10 @@ "nullable": true } }, - "description": "A class that represents a domain entity exposed by an API" + "additionalProperties": false, + "description": "A class that represents a domain entity exposed by an API." }, - "AsyncCampaignsReportResource": { + "ValueResourceOfRetailMediaSeller": { "type": "object", "properties": { "type": { @@ -7010,430 +8908,492 @@ "nullable": true }, "attributes": { - "$ref": "#/components/schemas/AsyncCampaignsReport" + "$ref": "#/components/schemas/RetailMediaSeller" } }, - "description": "A top-level object that encapsulates a Criteo API response for a single value" + "additionalProperties": false, + "description": "A top-level object that encapsulates a Criteo API response for a single value." }, - "AsyncLineItemsReportResource": { + "Metadata": { + "required": [ + "limit", + "offset" + ], "type": "object", "properties": { - "type": { - "type": "string", + "count": { + "type": "integer", + "format": "int64", "nullable": true }, - "attributes": { - "$ref": "#/components/schemas/AsyncLineItemsReport" + "offset": { + "type": "integer", + "description": "The (zero-based) starting offset in the collection.", + "format": "int32" + }, + "limit": { + "type": "integer", + "description": "The number of elements to be returned.", + "format": "int32" } }, - "description": "A top-level object that encapsulates a Criteo API response for a single value" + "additionalProperties": false, + "description": "Metadata related to the current request." }, - "StatusResponse": { + "BalanceHistoryChangeDataCaptureV1": { + "required": [ + "changeDetails", + "changeType", + "dateOfModification", + "modifiedByUser" + ], "type": "object", "properties": { - "status": { - "enum": [ - "pending", - "success", - "failure", - "expired" - ], - "type": "string", - "nullable": true - }, - "rowCount": { - "type": "integer", - "format": "int32", - "nullable": true - }, - "fileSizeBytes": { - "type": "integer", - "format": "int32", - "nullable": true - }, - "md5CheckSum": { + "dateOfModification": { "type": "string", - "nullable": true + "description": "Date when data change has occured.", + "format": "date-time" }, - "createdAt": { + "modifiedByUser": { "type": "string", - "nullable": true + "description": "Username who modified the insertion order." }, - "expiresAt": { + "changeType": { + "enum": [ + "BalanceCreated", + "BalanceAdded", + "BalanceRemoved", + "BalanceUncapped", + "BalanceCapped", + "EndDate", + "StartDate", + "BalanceName", + "PoNumber", + "ValueAdd", + "Unknown" + ], "type": "string", - "nullable": true + "description": "Represent the type of change states of the history." }, - "message": { - "type": "string", - "nullable": true + "changeDetails": { + "$ref": "#/components/schemas/ChangeDetailsV1" }, - "id": { + "memo": { "type": "string", + "description": "Memo associate with the insertion order modification.", "nullable": true } }, - "description": "Status of an async report request", - "x-criteo-canonical": { - "infoType": "entity" - } + "additionalProperties": false, + "description": "Data model represents the data change capture of balance history." }, - "AsyncCampaignsReport": { - "required": [ - "endDate", - "startDate" - ], + "ValueResourceOfCampaignBudgetOverrides": { "type": "object", "properties": { - "ids": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Campaign ids to report on", + "type": { + "type": "string", "nullable": true }, - "id": { + "attributes": { + "$ref": "#/components/schemas/CampaignBudgetOverrides" + } + }, + "additionalProperties": false, + "description": "A top-level object that encapsulates a Criteo API response for a single value." + }, + "ValueResourceOfLineItemBudgetOverrides": { + "type": "object", + "properties": { + "type": { "type": "string", - "description": "Campaign id to report on", "nullable": true }, - "campaignType": { - "enum": [ - "all", - "sponsoredProducts", - "onSiteDisplays" - ], + "attributes": { + "$ref": "#/components/schemas/LineItemBudgetOverrides" + } + }, + "additionalProperties": false, + "description": "A top-level object that encapsulates a Criteo API response for a single value." + }, + "ValueResourceOfRetailMediaBrandAccountCreation": { + "type": "object", + "properties": { + "type": { "type": "string", - "description": "Filter the type of campaigns to report on: sponsoredProducts or onSiteDisplays", - "default": "all", "nullable": true }, - "salesChannel": { - "enum": [ - "all", - "offline", - "online" - ], + "attributes": { + "$ref": "#/components/schemas/RetailMediaBrandAccountCreation" + } + }, + "additionalProperties": false, + "description": "A top-level object that encapsulates a Criteo API response for a single value." + }, + "ValueResourceOfRetailMediaSellerAccountCreation": { + "type": "object", + "properties": { + "type": { "type": "string", - "description": "Filter on specific sales channel: offline or online", - "default": "all", "nullable": true }, - "format": { - "enum": [ - "json", - "json-compact", - "json-newline", - "csv" - ], + "attributes": { + "$ref": "#/components/schemas/RetailMediaSellerAccountCreation" + } + }, + "additionalProperties": false, + "description": "A top-level object that encapsulates a Criteo API response for a single value." + }, + "RetailMediaAccount": { + "type": "object", + "properties": { + "name": { "type": "string", - "description": "Format of the output", - "default": "json-compact", + "description": "account name", "nullable": true }, - "reportType": { - "enum": [ - "summary", - "pageType", - "keyword", - "productCategory", - "product", - "attributedTransactions", - "environment", - "servedCategory" - ], - "type": "string", - "description": "Type of report, if no dimensions/metrics are provided, falls back to summary reportType", - "default": "summary", + "companyName": { + "type": "string", + "description": "Display name for reporting the owning entity of ads for the Digital Services Act in the European Union", "nullable": true }, - "clickAttributionWindow": { + "type": { "enum": [ - "none", - "7D", - "14D", - "30D" + "Unknown", + "Supply", + "Demand" ], "type": "string", - "description": "Click attribution window", - "default": "none", + "description": "Type for the account", "nullable": true }, - "viewAttributionWindow": { + "subType": { "enum": [ - "none", - "1D", - "7D", - "14D", - "30D" + "Unknown", + "Brand", + "Seller" ], "type": "string", - "description": "View attribution window", - "default": "none", + "description": "subtype for the account", "nullable": true }, - "dimensions": { + "countryIds": { "type": "array", "items": { - "enum": [ - "date", - "hour", - "accountId", - "accountName", - "campaignId", - "campaignName", - "campaignTypeName", - "lineItemId", - "lineItemName", - "retailerId", - "retailerName", - "brandId", - "brandName", - "advProductCategory", - "advProductId", - "advProductName", - "salesChannel", - "environment", - "pageTypeName", - "keyword", - "searchTerm" - ], "type": "string" }, - "description": "List of dimensions to report on", + "description": "list of countries associated with the account", "nullable": true }, - "metrics": { - "type": "array", - "items": { - "enum": [ - "impressions", - "clicks", - "spend", - "attributedSales", - "attributedUnits", - "attributedOrders", - "assistedSales", - "assistedUnits", - "ctr", - "cpc", - "cpo", - "cpm", - "roas", - "videoViews", - "videosStarted", - "videosPlayedTo25", - "videosPlayedTo50", - "videosPlayedTo75", - "videosPlayedTo100", - "videoPlayingRate", - "videoCompletionRate", - "uniqueVisitors", - "frequency" - ], - "type": "string" - }, - "description": "List of metrics to report on", + "currencyId": { + "type": "string", + "description": "the currency for the account", "nullable": true }, - "startDate": { + "parentAccountLabel": { "type": "string", - "description": "Start date", - "format": "date-time" + "description": "parent account label for the account", + "nullable": true }, - "endDate": { + "timeZone": { "type": "string", - "description": "End date", - "format": "date-time" + "description": "the timezone for the account", + "nullable": true + } + }, + "additionalProperties": false, + "description": "The details for a newly created account" + }, + "RetailMediaSeller": { + "type": "object", + "properties": { + "sellerId": { + "type": "string", + "description": "the seller id", + "nullable": true }, - "timezone": { + "retailerId": { + "type": "integer", + "description": "the retailer id", + "format": "int32", + "nullable": true + } + }, + "additionalProperties": false, + "description": "used to define the exact seller linked with an account" + }, + "ChangeDetailsV1": { + "required": [ + "changeValue", + "currentValue", + "previousValue" + ], + "type": "object", + "properties": { + "previousValue": { "type": "string", - "description": "Time zone : see criteo developer portal for supported time zones", - "default": "UTC", + "description": "Previous value of a property of the insertion order.", + "nullable": true + }, + "currentValue": { + "type": "string", + "description": "Current value of a property of the insertion order.", + "nullable": true + }, + "changeValue": { + "type": "string", + "description": "Change detail of a property of the insertion order.", "nullable": true } }, - "description": "Async Campaigns report body request" + "additionalProperties": false, + "description": "Change details of a property of the balance." }, - "AsyncLineItemsReport": { + "CampaignBudgetOverrides": { "required": [ - "endDate", - "startDate" + "dailyBudgetOverrides", + "monthlyBudgetOverrides" ], "type": "object", "properties": { - "ids": { + "monthlyBudgetOverrides": { "type": "array", "items": { - "type": "string" + "$ref": "#/components/schemas/CampaignMonthlyBudgetOverride" }, - "description": "Line Item ids to report on", + "description": "Campaign budget override monthly part, chronological order restricted." + }, + "dailyBudgetOverrides": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CampaignDailyBudgetOverride" + }, + "description": "Campaign budget override daily part, chronological order restricted." + } + }, + "additionalProperties": false, + "description": "Campaign budget overrides including Monthly and Daily budget overrides." + }, + "LineItemBudgetOverrides": { + "required": [ + "dailyLineItemBudgetOverrides", + "monthlyLineItemBudgetOverrides" + ], + "type": "object", + "properties": { + "monthlyLineItemBudgetOverrides": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MonthlyLineItemBudegetOverride" + }, + "description": "Line item budget override monthly part, chronological order restricted." + }, + "dailyLineItemBudgetOverrides": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DailyLineItemBudgetOverride" + }, + "description": "Line item budget override daily part, chronological order restricted." + } + }, + "additionalProperties": false, + "description": "Line item budget overrides including Monthly and Daily budget overrides." + }, + "RetailMediaBrandAccountCreation": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "the name of the account, must be unique across all accounts", "nullable": true }, - "id": { + "companyName": { "type": "string", - "description": "Line Item id to report on", + "description": "Display name for reporting the owning entity of ads for the Digital Services Act in the European Union", "nullable": true }, - "campaignType": { - "enum": [ - "all", - "sponsoredProducts", - "onSiteDisplays" - ], + "brands": { + "type": "array", + "items": { + "type": "integer", + "format": "int64" + }, + "description": "list of brands to link to the new account", + "nullable": true + } + }, + "additionalProperties": false, + "description": "the initial set up and configuration options for a new private market demand brand account" + }, + "RetailMediaSellerAccountCreation": { + "type": "object", + "properties": { + "name": { "type": "string", - "description": "Filter the type of campaigns to report on: sponsoredProducts or onSiteDisplays", - "default": "all", + "description": "the name of the account, must be unique across all accounts", "nullable": true }, - "salesChannel": { - "enum": [ - "all", - "offline", - "online" - ], + "companyName": { "type": "string", - "description": "Filter on specific sales channel: offline or online", - "default": "all", + "description": "Display name for reporting the owning entity of ads for the Digital Services Act in the European Union", "nullable": true }, - "format": { - "enum": [ - "json", - "json-compact", - "json-newline", - "csv" - ], + "sellers": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RetailMediaSeller" + }, + "description": "list of sellers to associate to the new account", + "nullable": true + } + }, + "additionalProperties": false, + "description": "the initial set up and configuration options for a new private market demand brand account" + }, + "CampaignMonthlyBudgetOverride": { + "required": [ + "duration", + "maxMonthlySpend" + ], + "type": "object", + "properties": { + "startMonth": { "type": "string", - "description": "Format of the output", - "default": "json-compact", + "description": "Monthly budget override start month, format \"yyyy-MM\". If it is null, the StartMonth would be the following month of the last item in the override sequence.", + "format": "date-time", "nullable": true }, - "reportType": { + "duration": { + "type": "string", + "description": "The number of MONTHs that the override is active from StartMonth, e.g. \"1M\". Must end with 'M' or 'm'." + }, + "maxMonthlySpend": { + "type": "number", + "description": "Monthly budget override maximum monthly spend amount.", + "format": "double" + }, + "status": { "enum": [ - "summary", - "pageType", - "keyword", - "productCategory", - "product", - "attributedTransactions", - "environment", - "servedCategory" + "Expired", + "Active", + "Upcoming" ], "type": "string", - "description": "Type of report, if no dimensions/metrics are provided, falls back to summary reportType", - "default": "summary", + "description": "Monthly budget override computed status.", + "nullable": true + } + }, + "additionalProperties": false, + "description": "Campaign monthly budget override." + }, + "CampaignDailyBudgetOverride": { + "required": [ + "duration", + "maxDailySpend" + ], + "type": "object", + "properties": { + "startDate": { + "type": "string", + "description": "Daily budget override start date, format \"yyyy-MM-dd\". If it is null, the StartDate would be the following date of the last item in the override sequence.", + "format": "date-time", "nullable": true }, - "clickAttributionWindow": { + "duration": { + "type": "string", + "description": "The number of DAYs that the override is active from StartDate, e.g. \"1D\". Must end with 'D' or 'd'." + }, + "maxDailySpend": { + "type": "number", + "description": "Daily budget override maximum daily spend amount.", + "format": "double" + }, + "status": { "enum": [ - "none", - "7D", - "14D", - "30D" + "Expired", + "Active", + "Upcoming" ], "type": "string", - "description": "Click attribution window", - "default": "none", + "description": "Daily budget override computed status.", + "nullable": true + } + }, + "additionalProperties": false, + "description": "Campaign daily budget override." + }, + "MonthlyLineItemBudegetOverride": { + "required": [ + "duration", + "maxMonthlySpend" + ], + "type": "object", + "properties": { + "startMonth": { + "type": "string", + "description": "Monthly budget override start month, format \"yyyy-MM\". If it is null, the StartMonth would be the following month of the last item in the override sequence.", + "format": "date-time", "nullable": true }, - "viewAttributionWindow": { - "enum": [ - "none", - "1D", - "7D", - "14D", - "30D" - ], + "duration": { "type": "string", - "description": "View attribution window", - "default": "none", - "nullable": true + "description": "The number of MONTHs that the override is active from StartMonth, e.g. \"1M\". Must end with 'M' or 'm'." }, - "dimensions": { - "type": "array", - "items": { - "enum": [ - "date", - "hour", - "accountId", - "accountName", - "campaignId", - "campaignName", - "campaignTypeName", - "lineItemId", - "lineItemName", - "retailerId", - "retailerName", - "brandId", - "brandName", - "advProductCategory", - "advProductId", - "advProductName", - "salesChannel", - "environment", - "pageTypeName", - "keyword", - "searchTerm" - ], - "type": "string" - }, - "description": "List of dimensions to report on", - "nullable": true + "maxMonthlySpend": { + "type": "number", + "description": "Monthly budget override maximum monthly spend amount.", + "format": "double" }, - "metrics": { - "type": "array", - "items": { - "enum": [ - "impressions", - "clicks", - "spend", - "attributedSales", - "attributedUnits", - "attributedOrders", - "assistedSales", - "assistedUnits", - "ctr", - "cpc", - "cpo", - "cpm", - "roas", - "videoViews", - "videosStarted", - "videosPlayedTo25", - "videosPlayedTo50", - "videosPlayedTo75", - "videosPlayedTo100", - "videoPlayingRate", - "videoCompletionRate", - "uniqueVisitors", - "frequency" - ], - "type": "string" - }, - "description": "List of metrics to report on", + "status": { + "enum": [ + "Expired", + "Active", + "Upcoming" + ], + "type": "string", + "description": "Monthly budget override computed status.", "nullable": true - }, + } + }, + "additionalProperties": false, + "description": "The details for a monthly budget override" + }, + "DailyLineItemBudgetOverride": { + "required": [ + "duration" + ], + "type": "object", + "properties": { "startDate": { "type": "string", - "description": "Start date", - "format": "date-time" + "description": "Daily budget override start date, format \"yyyy-MM-dd\". If it is null, the StartDate would be the following date of the last item in the override sequence.", + "format": "date-time", + "nullable": true }, - "endDate": { + "duration": { "type": "string", - "description": "End date", - "format": "date-time" + "description": "The number of DAYs that the override is active from StartDate, e.g. \"1D\". Must end with 'D' or 'd'." }, - "timezone": { + "maxDailySpend": { + "type": "number", + "description": "Daily budget override maximum daily spend amount.", + "format": "double", + "nullable": true + }, + "status": { + "enum": [ + "Expired", + "Active", + "Upcoming" + ], "type": "string", - "description": "Time zone : see criteo developer portal for supported time zones", - "default": "UTC", + "description": "Daily budget override computed status.", "nullable": true } }, - "description": "Async Line Items report body request" + "additionalProperties": false, + "description": "The details for a daily budget override" }, - "Balance202110PagedListResponse": { + "BalanceResponsePagedListResponse": { "type": "object", "properties": { "metadata": { @@ -7442,14 +9402,14 @@ "data": { "type": "array", "items": { - "$ref": "#/components/schemas/ResourceOfBalance202110" + "$ref": "#/components/schemas/ResourceOfBalanceResponse" }, "x-nullable": false }, "warnings": { "type": "array", "items": { - "$ref": "#/components/schemas/ProblemDetails" + "$ref": "#/components/schemas/CommonProblem" }, "readOnly": true, "x-nullable": false @@ -7457,7 +9417,7 @@ "errors": { "type": "array", "items": { - "$ref": "#/components/schemas/ProblemDetails" + "$ref": "#/components/schemas/CommonProblem" }, "readOnly": true, "x-nullable": false @@ -7466,6 +9426,32 @@ "description": "Data model for a paged list of response resources", "x-nullable": false }, + "BalanceResponse": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/ResourceOfBalanceResponse" + }, + "warnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "readOnly": true, + "x-nullable": false + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "readOnly": true, + "x-nullable": false + } + }, + "description": "Data model for response resource", + "x-nullable": false + }, "JsonApiPageResponseOfCampaignV202301": { "required": [ "metadata", @@ -7928,6 +9914,46 @@ "description": "Data model for a value type resource outcome", "x-nullable": false }, + "CreateBalanceRequest": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/ResourceOfCreateBalance" + } + }, + "description": "Data model for an input resource", + "x-nullable": false + }, + "UpdateBalanceModelRequest": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/ResourceOfUpdateBalanceModel" + } + }, + "description": "Data model for an input resource", + "x-nullable": false + }, + "AddFundsToBalanceRequest": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/ResourceOfAddFundsToBalance" + } + }, + "description": "Data model for an input resource", + "x-nullable": false + }, + "ChangeDatesOfBalanceRequest": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/ResourceOfChangeDatesOfBalance" + } + }, + "description": "Data model for an input resource", + "x-nullable": false + }, "PostCampaignV202301": { "type": "object", "properties": { @@ -8096,9 +10122,12 @@ "description": "Data model for a value type input resource", "x-nullable": false }, - "ResourceOfBalance202110": { + "ResourceOfBalanceResponse": { "type": "object", "properties": { + "attributes": { + "$ref": "#/components/schemas/ExternalBalanceResponse" + }, "id": { "type": "string", "description": "Id of the entity", @@ -8108,12 +10137,9 @@ "type": "string", "description": "Canonical type name of the entity", "nullable": true - }, - "attributes": { - "$ref": "#/components/schemas/ExternalBalance202110" } }, - "description": "A class that represents an entity in a guild compliant way", + "description": "Data model for a Resource", "x-nullable": false }, "JsonApiBodyWithIdOfInt64AndCampaignV202301AndCampaignV202301": { @@ -8240,27 +10266,109 @@ ], "type": "object", "properties": { - "id": { - "type": "string", - "format": "long-id", - "x-nullable": false - }, + "id": { + "type": "string", + "format": "long-id", + "x-nullable": false + }, + "type": { + "type": "string", + "x-nullable": false + }, + "attributes": { + "$ref": "#/components/schemas/LineItemBidMultipliers" + } + }, + "description": "Response object for line item bid multiplier calls", + "x-nullable": false + }, + "ResourceOfLineItemBidMultipliers": { + "type": "object", + "properties": { + "attributes": { + "$ref": "#/components/schemas/LineItemBidMultipliers" + }, + "id": { + "type": "string", + "description": "Id of the entity", + "nullable": true + }, + "type": { + "type": "string", + "description": "Canonical type name of the entity", + "nullable": true + } + }, + "description": "Data model for a Resource", + "x-nullable": false + }, + "ResourceOfPromotedProduct202110": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Id of the entity", + "nullable": true + }, + "type": { + "type": "string", + "description": "Canonical type name of the entity", + "nullable": true + }, + "attributes": { + "$ref": "#/components/schemas/ExternalPromotedProduct202110" + } + }, + "description": "Data model for a Resource", + "x-nullable": false + }, + "ValueTypeResourceOfAddToBasketTarget202110": { + "type": "object", + "properties": { + "type": { + "type": "string", + "x-nullable": false + }, + "attributes": { + "$ref": "#/components/schemas/ExternalAddToBasketTarget202110" + } + }, + "description": "Data model for a value type resource", + "x-nullable": false + }, + "ValueTypeResourceOfAudienceTarget202110": { + "type": "object", + "properties": { + "type": { + "type": "string", + "x-nullable": false + }, + "attributes": { + "$ref": "#/components/schemas/ExternalAudienceTarget202110" + } + }, + "description": "Data model for a value type resource", + "x-nullable": false + }, + "ValueTypeResourceOfStoreTarget202110": { + "type": "object", + "properties": { "type": { "type": "string", "x-nullable": false }, "attributes": { - "$ref": "#/components/schemas/LineItemBidMultipliers" + "$ref": "#/components/schemas/ExternalStoreTarget202110" } }, - "description": "Response object for line item bid multiplier calls", + "description": "Data model for a value type resource", "x-nullable": false }, - "ResourceOfLineItemBidMultipliers": { + "ResourceOfCreateBalance": { "type": "object", "properties": { "attributes": { - "$ref": "#/components/schemas/LineItemBidMultipliers" + "$ref": "#/components/schemas/ExternalCreateBalance" }, "id": { "type": "string", @@ -8276,9 +10384,12 @@ "description": "Data model for a Resource", "x-nullable": false }, - "ResourceOfPromotedProduct202110": { + "ResourceOfUpdateBalanceModel": { "type": "object", "properties": { + "attributes": { + "$ref": "#/components/schemas/ExternalUpdateBalanceModel" + }, "id": { "type": "string", "description": "Id of the entity", @@ -8288,54 +10399,49 @@ "type": "string", "description": "Canonical type name of the entity", "nullable": true - }, - "attributes": { - "$ref": "#/components/schemas/ExternalPromotedProduct202110" } }, "description": "Data model for a Resource", "x-nullable": false }, - "ValueTypeResourceOfAddToBasketTarget202110": { + "ResourceOfAddFundsToBalance": { "type": "object", "properties": { - "type": { + "attributes": { + "$ref": "#/components/schemas/ExternalAddFundsToBalance" + }, + "id": { "type": "string", - "x-nullable": false + "description": "Id of the entity", + "nullable": true }, - "attributes": { - "$ref": "#/components/schemas/ExternalAddToBasketTarget202110" - } - }, - "description": "Data model for a value type resource", - "x-nullable": false - }, - "ValueTypeResourceOfAudienceTarget202110": { - "type": "object", - "properties": { "type": { "type": "string", - "x-nullable": false - }, - "attributes": { - "$ref": "#/components/schemas/ExternalAudienceTarget202110" + "description": "Canonical type name of the entity", + "nullable": true } }, - "description": "Data model for a value type resource", + "description": "Data model for a Resource", "x-nullable": false }, - "ValueTypeResourceOfStoreTarget202110": { + "ResourceOfChangeDatesOfBalance": { "type": "object", "properties": { - "type": { + "attributes": { + "$ref": "#/components/schemas/ExternalChangeDatesOfBalance" + }, + "id": { "type": "string", - "x-nullable": false + "description": "Id of the entity", + "nullable": true }, - "attributes": { - "$ref": "#/components/schemas/ExternalStoreTarget202110" + "type": { + "type": "string", + "description": "Canonical type name of the entity", + "nullable": true } }, - "description": "Data model for a value type resource", + "description": "Data model for a Resource", "x-nullable": false }, "JsonApiBodyWithoutIdOfCampaignAttributesV202301AndCampaignV202301": { @@ -8488,7 +10594,7 @@ "description": "Data model for a value type resource", "x-nullable": false }, - "ExternalBalance202110": { + "ExternalBalanceResponse": { "required": [ "name", "poNumber", @@ -8497,66 +10603,60 @@ "spent", "remaining", "startDate", + "endDate", "status", "createdAt", - "updatedAt" + "updatedAt", + "balanceType", + "salesForceId", + "spendType", + "privateMarketBillingType" ], "type": "object", "properties": { "name": { "type": "string", + "description": "Name of the balance.", "x-nullable": false }, "poNumber": { "type": "string", + "description": "Purchase Order number.", "x-nullable": false }, "memo": { "type": "string", + "description": "Memo", "x-nullable": false }, "deposited": { - "required": [ - "false" - ], "type": "number", + "description": "Amount of billable funds allotted to the balance.", "format": "decimal", "nullable": true, "x-nullable": true }, "spent": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "remaining": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "startDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", - "format": "date", - "x-nullable": false + "format": "date" }, "endDate": { "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", - "format": "date", - "nullable": true, - "x-nullable": true + "format": "date" }, "status": { "enum": [ @@ -8577,6 +10677,42 @@ "type": "string", "format": "date-time", "x-nullable": false + }, + "balanceType": { + "enum": [ + "unknown", + "capped", + "uncapped" + ], + "type": "string", + "description": "Type of the balance", + "x-nullable": false + }, + "salesForceId": { + "type": "string", + "description": "SalesForceId the balance is linked to.", + "x-nullable": false + }, + "spendType": { + "enum": [ + "Onsite", + "Offsite", + "OffsiteAwareness" + ], + "type": "string", + "description": "Spend Type of the balance.", + "x-nullable": false + }, + "privateMarketBillingType": { + "enum": [ + "NotApplicable", + "BillByRetailer", + "BillByCriteo", + "Unknown" + ], + "type": "string", + "description": "Billing type for Private Market.", + "x-nullable": false } }, "description": "A Retail Media Balance used to determine the funds available for any or all campaigns in an account", @@ -8611,18 +10747,12 @@ "x-nullable": false }, "budgetSpent": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "budgetRemaining": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -8698,27 +10828,18 @@ "x-nullable": false }, "budget": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "monthlyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "dailyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -8800,9 +10921,6 @@ "x-nullable": false }, "startDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" @@ -8834,9 +10952,6 @@ "x-nullable": false }, "budget": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -8853,9 +10968,6 @@ "x-nullable": false }, "budgetRemaining": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -8894,9 +11006,6 @@ "x-nullable": false }, "startDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" @@ -8908,36 +11017,24 @@ "nullable": true }, "maxBid": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "budget": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "monthlyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "dailyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -8975,9 +11072,6 @@ "x-nullable": false }, "targetBid": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -8999,9 +11093,6 @@ "x-nullable": false }, "budgetRemaining": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -9073,17 +11164,11 @@ "x-nullable": false }, "startDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" }, "endDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" @@ -9214,9 +11299,6 @@ "type": "object", "properties": { "bidOverride": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -9324,6 +11406,162 @@ "description": "Identifies store targeting for a line item", "x-nullable": false }, + "ExternalCreateBalance": { + "required": [ + "name", + "deposited", + "startDate", + "endDate", + "spendType", + "memo", + "salesForceId" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the balance.", + "x-nullable": false + }, + "poNumber": { + "type": "string", + "description": "Purchase Order number.", + "x-nullable": false + }, + "deposited": { + "type": "number", + "description": "Amount of billable funds allotted to the balance.", + "format": "decimal", + "nullable": true, + "x-nullable": true + }, + "startDate": { + "type": "string", + "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", + "format": "date" + }, + "endDate": { + "type": "string", + "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", + "format": "date" + }, + "spendType": { + "enum": [ + "Onsite", + "Offsite", + "OffsiteAwareness" + ], + "type": "string", + "description": "Type of the balance spend.", + "x-nullable": false + }, + "memo": { + "type": "string", + "description": "Memo", + "x-nullable": false + }, + "salesForceId": { + "type": "string", + "description": "SalesForceId the balance is linked to.", + "x-nullable": false + } + }, + "description": "An object that represents the available options to set when creating a Retail Media Balance", + "x-nullable": false + }, + "ExternalUpdateBalanceModel": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the balance.", + "x-nullable": false + }, + "poNumber": { + "type": "string", + "description": "Purchase Order number.", + "x-nullable": false + }, + "salesForceId": { + "type": "string", + "description": "SalesForceId the balance is linked to.", + "x-nullable": false + }, + "startDate": { + "type": "string", + "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", + "format": "date", + "nullable": true + }, + "endDate": { + "type": "string", + "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", + "format": "date", + "nullable": true + }, + "memo": { + "type": "string", + "description": "Memo", + "x-nullable": false + } + }, + "description": "An object that represents the available options to set when updating a Retail Media Balance", + "x-nullable": false + }, + "ExternalAddFundsToBalance": { + "required": [ + "deltaAmount", + "memo" + ], + "type": "object", + "properties": { + "deltaAmount": { + "type": "number", + "description": "Amount of billable funds to be added / decreased allotted to the balance.", + "format": "double", + "x-nullable": false + }, + "poNumber": { + "type": "string", + "description": "Purchase Order number.", + "x-nullable": false + }, + "memo": { + "type": "string", + "description": "Memo", + "x-nullable": false + } + }, + "description": "An object that represents the available options of adding funds to a balance.", + "x-nullable": false + }, + "ExternalChangeDatesOfBalance": { + "required": [ + "startDate", + "endDate", + "memo" + ], + "type": "object", + "properties": { + "startDate": { + "type": "string", + "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", + "format": "date" + }, + "endDate": { + "type": "string", + "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", + "format": "date" + }, + "memo": { + "type": "string", + "description": "Memo", + "x-nullable": false + } + }, + "description": "An object that represents the available options to modify schedule of a balance.", + "x-nullable": false + }, "CampaignAttributesV202301": { "required": [ "name", @@ -9382,27 +11620,18 @@ "x-nullable": false }, "budget": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "monthlyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "dailyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -9472,9 +11701,6 @@ "x-nullable": false }, "startDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" @@ -9501,45 +11727,30 @@ "x-nullable": false }, "budget": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "targetBid": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "maxBid": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "monthlyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "dailyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -9579,9 +11790,6 @@ "x-nullable": false }, "startDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" @@ -9613,45 +11821,30 @@ "x-nullable": false }, "budget": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "targetBid": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "maxBid": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "monthlyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "dailyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -9696,17 +11889,11 @@ "x-nullable": false }, "startDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" }, "endDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" @@ -9779,27 +11966,18 @@ "x-nullable": false }, "budget": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "monthlyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, "x-nullable": true }, "dailyPacing": { - "required": [ - "false" - ], "type": "number", "format": "decimal", "nullable": true, @@ -9890,17 +12068,11 @@ "x-nullable": false }, "startDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" }, "endDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" diff --git a/api-specifications/retailmedia_preview.json b/api-specifications/retailmedia_preview.json index 6f909c8..2e40348 100644 --- a/api-specifications/retailmedia_preview.json +++ b/api-specifications/retailmedia_preview.json @@ -16,6 +16,7 @@ "tags": [ "Accounts" ], + "summary": "", "description": "Grant consent to a business application on behalf of a Private Market demand account", "operationId": "GrantConsent", "parameters": [ @@ -442,7 +443,7 @@ "/preview/retail-media/accounts": { "get": { "tags": [ - "Campaign" + "Accounts" ], "description": "Gets page of account objects that the current user can access", "operationId": "AccountsApi_GetApiV1ExternalAccounts", @@ -467,7 +468,8 @@ "style": "form", "schema": { "type": "integer", - "format": "int32" + "format": "int32", + "default": 0 }, "x-nullable": false }, @@ -478,7 +480,8 @@ "style": "form", "schema": { "type": "integer", - "format": "int32" + "format": "int32", + "default": 25 }, "x-nullable": false } @@ -487,10 +490,20 @@ "200": { "description": "Success", "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/JsonApiPageResponseOfAccount" + } + }, "application/json": { "schema": { "$ref": "#/components/schemas/JsonApiPageResponseOfAccount" } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/JsonApiPageResponseOfAccount" + } } } } @@ -536,7 +549,8 @@ "style": "form", "schema": { "type": "integer", - "format": "int32" + "format": "int32", + "default": 0 }, "x-nullable": false }, @@ -547,7 +561,8 @@ "style": "form", "schema": { "type": "integer", - "format": "int32" + "format": "int32", + "default": 25 }, "x-nullable": false } @@ -556,10 +571,20 @@ "200": { "description": "Success", "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/JsonApiPageResponseOfBrand" + } + }, "application/json": { "schema": { "$ref": "#/components/schemas/JsonApiPageResponseOfBrand" } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/JsonApiPageResponseOfBrand" + } } } } @@ -605,7 +630,8 @@ "style": "form", "schema": { "type": "integer", - "format": "int32" + "format": "int32", + "default": 0 }, "x-nullable": false }, @@ -616,7 +642,8 @@ "style": "form", "schema": { "type": "integer", - "format": "int32" + "format": "int32", + "default": 25 }, "x-nullable": false } @@ -625,86 +652,89 @@ "200": { "description": "Success", "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/JsonApiPageResponseOfRetailer" + } + }, "application/json": { "schema": { "$ref": "#/components/schemas/JsonApiPageResponseOfRetailer" } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/JsonApiPageResponseOfRetailer" + } } } } } } }, - "/preview/retail-media/accounts/{accountId}/audiences": { - "get": { + "/preview/retail-media/accounts/{account-id}/audience-segments": { + "patch": { "tags": [ "Audience" ], - "description": "Get a page of Audiences. (deprecated Public API)", - "operationId": "LegacyGetAudienceV1", + "description": "Updates the properties of all segments with a valid configuration, and returns the full segments. For those that cannot be updated, one or multiple errors are returned.", + "operationId": "BulkUpdateV1", "parameters": [ { - "name": "accountId", + "name": "account-id", "in": "path", - "description": "ID of the account to which this audience belongs.", + "description": "Account id", "required": true, "style": "simple", "schema": { - "type": "integer", - "format": "int64" + "type": "string" } - }, - { - "name": "limitToId", - "in": "query", - "description": "Limits results to the entity IDs specified; parameter key is repeated, eg. limitToId=1&limitToId=2", - "style": "form", - "schema": { - "type": "array", - "items": { - "type": "integer", - "format": "int32" + } + ], + "requestBody": { + "description": "Segment Update request", + "content": { + "application/json-patch+json": { + "schema": { + "$ref": "#/components/schemas/RmAudienceSegmentBulkUpdateInputV1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/RmAudienceSegmentBulkUpdateInputV1" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/RmAudienceSegmentBulkUpdateInputV1" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/RmAudienceSegmentBulkUpdateInputV1" } } }, - { - "name": "pageSize", - "in": "query", - "description": "Specifies the maximum number of entities returned in a single page; defaults to 25 entities per page.", - "style": "form", - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "pageIndex", - "in": "query", - "description": "Returns the specified page of results given a pageSize; pages are 0-indexed.", - "style": "form", - "schema": { - "type": "integer", - "format": "int32" - } - } - ], + "required": true, + "x-bodyName": "request" + }, "responses": { "200": { - "description": "A page of audiences for the supplied account or shared by related retailers.", + "description": "Success or partial success", "content": { "text/plain": { "schema": { - "$ref": "#/components/schemas/RmLegacyAudienceGetEntityV1ListResponse" + "$ref": "#/components/schemas/RmAudienceSegmentEntityV1ListResponse" } }, "application/json": { "schema": { - "$ref": "#/components/schemas/RmLegacyAudienceGetEntityV1ListResponse" + "$ref": "#/components/schemas/RmAudienceSegmentEntityV1ListResponse" } }, "text/json": { "schema": { - "$ref": "#/components/schemas/RmLegacyAudienceGetEntityV1ListResponse" + "$ref": "#/components/schemas/RmAudienceSegmentEntityV1ListResponse" } } } @@ -736,76 +766,69 @@ } } }, - "/preview/retail-media/v2/accounts/{accountId}/audiences": { - "get": { + "/preview/retail-media/accounts/{account-id}/audience-segments/create": { + "post": { "tags": [ "Audience" ], - "description": "Get a page of Audiences. (deprecated Public API)", - "operationId": "LegacyGetAudienceV2", + "description": "Creates all segments with a valid configuration, and returns the full segments. For those that cannot be created, one or multiple errors are returned.", + "operationId": "BulkCreateV1", "parameters": [ { - "name": "accountId", + "name": "account-id", "in": "path", - "description": "ID of the account to which this audience belongs.", + "description": "Account Id", "required": true, "style": "simple", "schema": { - "type": "integer", - "format": "int64" + "type": "string" } - }, - { - "name": "limitToId", - "in": "query", - "description": "Limits results to the entity IDs specified; parameter key is repeated, eg. limitToId=1&limitToId=2", - "style": "form", - "schema": { - "type": "array", - "items": { - "type": "integer", - "format": "int32" + } + ], + "requestBody": { + "description": "Segment creation parameter", + "content": { + "application/json-patch+json": { + "schema": { + "$ref": "#/components/schemas/RmAudienceSegmentBulkCreateInputV1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/RmAudienceSegmentBulkCreateInputV1" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/RmAudienceSegmentBulkCreateInputV1" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/RmAudienceSegmentBulkCreateInputV1" } } }, - { - "name": "pageSize", - "in": "query", - "description": "Specifies the maximum number of entities returned in a single page; defaults to 25 entities per page.", - "style": "form", - "schema": { - "type": "integer", - "format": "int32" - } - }, - { - "name": "pageIndex", - "in": "query", - "description": "Returns the specified page of results given a pageSize; pages are 0-indexed.", - "style": "form", - "schema": { - "type": "integer", - "format": "int32" - } - } - ], + "required": true, + "x-bodyName": "request" + }, "responses": { "200": { - "description": "A page of audiences for the supplied account or shared by related retailers.", + "description": "Success or partial success", "content": { "text/plain": { "schema": { - "$ref": "#/components/schemas/RmLegacyAudienceGetEntityV2ListResponse" + "$ref": "#/components/schemas/RmAudienceSegmentEntityV1ListResponse" } }, "application/json": { "schema": { - "$ref": "#/components/schemas/RmLegacyAudienceGetEntityV2ListResponse" + "$ref": "#/components/schemas/RmAudienceSegmentEntityV1ListResponse" } }, "text/json": { "schema": { - "$ref": "#/components/schemas/RmLegacyAudienceGetEntityV2ListResponse" + "$ref": "#/components/schemas/RmAudienceSegmentEntityV1ListResponse" } } } @@ -837,18 +860,18 @@ } } }, - "/preview/retail-media/line-items/{id}/keywords": { - "get": { + "/preview/retail-media/accounts/{account-id}/audience-segments/delete": { + "post": { "tags": [ - "Campaign" + "Audience" ], - "description": "Fetch keywords associated with the specified line item", - "operationId": "FetchKeywords", + "description": "Delete the segments associated to the given audience IDs.", + "operationId": "BulkDeleteV1", "parameters": [ { - "name": "id", + "name": "account-id", "in": "path", - "description": "ID of the line item", + "description": "Account id", "required": true, "style": "simple", "schema": { @@ -856,166 +879,312 @@ } } ], + "requestBody": { + "description": "Segment delete request.", + "content": { + "application/json-patch+json": { + "schema": { + "$ref": "#/components/schemas/RmAudienceSegmentBulkDeleteInputV1" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/RmAudienceSegmentBulkDeleteInputV1" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/RmAudienceSegmentBulkDeleteInputV1" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/RmAudienceSegmentBulkDeleteInputV1" + } + } + }, + "required": true, + "x-bodyName": "request" + }, "responses": { "200": { - "description": "Success", + "description": "Success or partial success", "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/RmAudienceSegmentIdEntityV1ListResponse" + } + }, "application/json": { "schema": { - "$ref": "#/components/schemas/KeywordsModelResponse" + "$ref": "#/components/schemas/RmAudienceSegmentIdEntityV1ListResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/RmAudienceSegmentIdEntityV1ListResponse" } } } }, "400": { - "description": "Bad Request", + "description": "Bad request", "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ResourceOutcome" - } - } + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "401": { + "description": "The API client is not properly authenticated.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "403": { + "description": "The API client is not authorized to access this resource.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } } } } } }, - "/preview/retail-media/line-items/{id}/keywords/add-remove": { + "/preview/retail-media/accounts/{account-id}/audience-segments/search": { "post": { "tags": [ - "Campaign" + "Audience" ], - "description": "Add or Remove keywords from the line item in bulk", - "operationId": "AddRemoveKeywords", + "description": "Search segments based on the provided filters.( by ids or retailer ids)", + "operationId": "SearchV1", "parameters": [ { - "name": "id", + "name": "account-id", "in": "path", - "description": "ID of the line item", + "description": "Account Id", "required": true, "style": "simple", "schema": { "type": "string" } + }, + { + "name": "limit", + "in": "query", + "description": "The number of elements to be returned. The default is 50 and the maximum is 100.", + "style": "form", + "schema": { + "maximum": 100, + "minimum": 0, + "type": "integer", + "format": "int32", + "default": 50 + } + }, + { + "name": "offset", + "in": "query", + "description": "The (zero-based) offset into the collection. The default is 0.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32", + "default": 0 + } } ], "requestBody": { + "description": "Segment creation parameter", "content": { + "application/json-patch+json": { + "schema": { + "$ref": "#/components/schemas/RmAudienceSegmentSearchInputV1" + } + }, "application/json": { "schema": { - "$ref": "#/components/schemas/AddRemoveKeywordsModelRequest" + "$ref": "#/components/schemas/RmAudienceSegmentSearchInputV1" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/RmAudienceSegmentSearchInputV1" + } + }, + "application/*+json": { + "schema": { + "$ref": "#/components/schemas/RmAudienceSegmentSearchInputV1" } } - } + }, + "required": true, + "x-bodyName": "request" }, "responses": { "200": { - "description": "Success", + "description": "Success or partial success", "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/RmAudienceSegmentEntityV1RmAudienceSegmentSearchMetadataV1ListResponse" + } + }, "application/json": { "schema": { - "$ref": "#/components/schemas/ResourceOutcome" + "$ref": "#/components/schemas/RmAudienceSegmentEntityV1RmAudienceSegmentSearchMetadataV1ListResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/RmAudienceSegmentEntityV1RmAudienceSegmentSearchMetadataV1ListResponse" } } } }, "400": { - "description": "Bad Request", + "description": "Bad request", "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ResourceOutcome" - } - } + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "401": { + "description": "The API client is not properly authenticated.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "403": { + "description": "The API client is not authorized to access this resource.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } } } } } }, - "/preview/retail-media/line-items/{id}/keywords/set-bid": { - "post": { + "/preview/retail-media/accounts/{account-id}/audience-segments/{audience-segment-id}/contact-list": { + "get": { "tags": [ - "Campaign" + "Audience" ], - "description": "Set bid overrides for associated keywords to the given line item in bulk", - "operationId": "SetKeywordBids", + "description": "Returns the statistics of a contact list segment.", + "operationId": "GetContactListStatisticsV1", "parameters": [ { - "name": "id", + "name": "account-id", "in": "path", - "description": "ID of the line item", + "description": "Account Id", "required": true, "style": "simple", "schema": { "type": "string" } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SetBidsModelRequest" - } + }, + { + "name": "audience-segment-id", + "in": "path", + "description": "Segment Id.", + "required": true, + "style": "simple", + "schema": { + "type": "string" } } - }, + ], "responses": { "200": { - "description": "Success", + "description": "Success or partial success", "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/RmContactListStatisticsEntityV1Response" + } + }, "application/json": { "schema": { - "$ref": "#/components/schemas/ResourceOutcome" + "$ref": "#/components/schemas/RmContactListStatisticsEntityV1Response" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/RmContactListStatisticsEntityV1Response" } } } }, "400": { - "description": "Bad Request", + "description": "Bad request", "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ResourceOutcome" - } - } + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "401": { + "description": "The API client is not properly authenticated.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "403": { + "description": "The API client is not authorized to access this resource.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } } } } } }, - "/preview/retail-media/line-items/{lineItemId}/products": { + "/preview/retail-media/accounts/{accountId}/audiences": { "get": { "tags": [ - "Campaign" + "Audience" ], - "description": "Retrieve a page of promoted products for a line item", - "operationId": "FetchPromotedProducts", + "description": "Get a page of Audiences. (deprecated Public API)", + "operationId": "LegacyGetAudienceV1", "parameters": [ { - "name": "lineItemId", + "name": "accountId", "in": "path", - "description": "ID of the line item.", + "description": "ID of the account to which this audience belongs.", "required": true, "style": "simple", "schema": { - "type": "string" + "type": "integer", + "format": "int64" } }, { - "name": "offset", + "name": "limitToId", "in": "query", - "description": "Offset of the first item to fetch. Defaults to zero.", + "description": "Limits results to the entity IDs specified; parameter key is repeated, eg. limitToId=1&limitToId=2", "style": "form", "schema": { - "type": "integer", - "format": "int32" + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } } }, { - "name": "limit", + "name": "pageSize", "in": "query", - "description": "Maximum page size to fetch. Defaults to 500.", + "description": "Specifies the maximum number of entities returned in a single page; defaults to 25 entities per page.", "style": "form", "schema": { "type": "integer", @@ -1023,105 +1192,175 @@ } }, { - "name": "fields", + "name": "pageIndex", "in": "query", - "description": "A comma separated list of attribute names from the response model to compute and return.\r\n Valid values are `status` and `bidOverride` in any order. Defaults to `status`.", + "description": "Returns the specified page of results given a pageSize; pages are 0-indexed.", "style": "form", "schema": { - "type": "string" + "type": "integer", + "format": "int32" } } ], "responses": { "200": { - "description": "Promoted products associated with the line item", + "description": "A page of audiences for the supplied account or shared by related retailers.", "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/RmLegacyAudienceGetEntityV1ListResponse" + } + }, "application/json": { "schema": { - "$ref": "#/components/schemas/PromotedProductResourceCollectionOutcome" + "$ref": "#/components/schemas/RmLegacyAudienceGetEntityV1ListResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/RmLegacyAudienceGetEntityV1ListResponse" } } } }, + "400": { + "description": "Bad request", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "401": { + "description": "The API client is not properly authenticated.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, "403": { - "description": "Invalid external line item ID", + "description": "The API client is not authorized to access this resource.", "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProductResourceOutcome" - } - } + "text/plain": { }, + "application/json": { }, + "text/json": { } } } } } }, - "/preview/retail-media/line-items/{lineItemId}/products/append": { - "post": { + "/preview/retail-media/v2/accounts/{accountId}/audiences": { + "get": { "tags": [ - "Campaign" + "Audience" ], - "description": "Append a collection of promoted products to a line item", - "operationId": "AppendPromotedProducts", + "description": "Get a page of Audiences. (deprecated Public API)", + "operationId": "LegacyGetAudienceV2", "parameters": [ { - "name": "lineItemId", + "name": "accountId", "in": "path", - "description": "ID of the line item", + "description": "ID of the account to which this audience belongs.", "required": true, "style": "simple", "schema": { - "type": "string" + "type": "integer", + "format": "int64" } - } - ], - "requestBody": { - "description": "Request body whose {data} contains an array of promoted products.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PromotedProductResourceCollectionInput" + }, + { + "name": "limitToId", + "in": "query", + "description": "Limits results to the entity IDs specified; parameter key is repeated, eg. limitToId=1&limitToId=2", + "style": "form", + "schema": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" } } + }, + { + "name": "pageSize", + "in": "query", + "description": "Specifies the maximum number of entities returned in a single page; defaults to 25 entities per page.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "pageIndex", + "in": "query", + "description": "Returns the specified page of results given a pageSize; pages are 0-indexed.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32" + } } - }, + ], "responses": { - "204": { - "description": "Promoted products appended to the line item" - }, - "400": { - "description": "Invalid request body", + "200": { + "description": "A page of audiences for the supplied account or shared by related retailers.", "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/RmLegacyAudienceGetEntityV2ListResponse" + } + }, "application/json": { "schema": { - "$ref": "#/components/schemas/ProductResourceOutcome" + "$ref": "#/components/schemas/RmLegacyAudienceGetEntityV2ListResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/RmLegacyAudienceGetEntityV2ListResponse" } } } }, + "400": { + "description": "Bad request", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, + "401": { + "description": "The API client is not properly authenticated.", + "content": { + "text/plain": { }, + "application/json": { }, + "text/json": { } + } + }, "403": { - "description": "Invalid external line item ID", + "description": "The API client is not authorized to access this resource.", "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProductResourceOutcome" - } - } + "text/plain": { }, + "application/json": { }, + "text/json": { } } } } } }, - "/preview/retail-media/line-items/{lineItemId}/products/delete": { - "post": { + "/preview/retail-media/line-items/{id}/keywords": { + "get": { "tags": [ "Campaign" ], - "description": "Remove a collection of promoted products from a line item", - "operationId": "DeletePromotedProducts", + "description": "Fetch keywords associated with the specified line item", + "operationId": "FetchKeywords", "parameters": [ { - "name": "lineItemId", + "name": "id", "in": "path", "description": "ID of the line item", "required": true, @@ -1131,36 +1370,23 @@ } } ], - "requestBody": { - "description": "Request body whose {data} contains an array of promoted products.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/PromotedProductResourceCollectionInput" - } - } - } - }, "responses": { - "204": { - "description": "Promoted products removed from the line item" - }, - "400": { - "description": "Invalid request body", + "200": { + "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ProductResourceOutcome" + "$ref": "#/components/schemas/KeywordsModelResponse" } } } }, - "403": { - "description": "Invalid external line item ID", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ProductResourceOutcome" + "$ref": "#/components/schemas/ResourceOutcome" } } } @@ -1168,16 +1394,16 @@ } } }, - "/preview/retail-media/line-items/{lineItemId}/products/pause": { + "/preview/retail-media/line-items/{id}/keywords/add-remove": { "post": { "tags": [ "Campaign" ], - "description": "Pause a collection of promoted products associated with a line item", - "operationId": "PausePromotedProducts", + "description": "Add or Remove keywords from the line item in bulk", + "operationId": "AddRemoveKeywords", "parameters": [ { - "name": "lineItemId", + "name": "id", "in": "path", "description": "ID of the line item", "required": true, @@ -1188,35 +1414,31 @@ } ], "requestBody": { - "description": "Request body whose {data} contains an array of promoted products.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PromotedProductResourceCollectionInput" + "$ref": "#/components/schemas/AddRemoveKeywordsModelRequest" } } } }, "responses": { - "204": { - "description": "Promoted products paused" - }, - "400": { - "description": "Invalid request body", + "200": { + "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ProductResourceOutcome" + "$ref": "#/components/schemas/ResourceOutcome" } } } }, - "403": { - "description": "Invalid external line item ID", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ProductResourceOutcome" + "$ref": "#/components/schemas/ResourceOutcome" } } } @@ -1224,16 +1446,16 @@ } } }, - "/preview/retail-media/line-items/{lineItemId}/products/unpause": { + "/preview/retail-media/line-items/{id}/keywords/set-bid": { "post": { "tags": [ "Campaign" ], - "description": "Un-pause a collection of promoted products associated with a line item", - "operationId": "UnpausePromotedProducts", + "description": "Set bid overrides for associated keywords to the given line item in bulk", + "operationId": "SetKeywordBids", "parameters": [ { - "name": "lineItemId", + "name": "id", "in": "path", "description": "ID of the line item", "required": true, @@ -1244,35 +1466,31 @@ } ], "requestBody": { - "description": "Request body whose {data} contains an array of promoted products.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PromotedProductResourceCollectionInput" + "$ref": "#/components/schemas/SetBidsModelRequest" } } } }, "responses": { - "204": { - "description": "Promoted products un-paused" - }, - "400": { - "description": "Invalid request body", + "200": { + "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ProductResourceOutcome" + "$ref": "#/components/schemas/ResourceOutcome" } } } }, - "403": { - "description": "Invalid external line item ID", + "400": { + "description": "Bad Request", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ProductResourceOutcome" + "$ref": "#/components/schemas/ResourceOutcome" } } } @@ -1280,52 +1498,71 @@ } } }, - "/preview/retail-media/preferred-deal-line-items/{id}/proposal": { + "/preview/retail-media/line-items/{lineItemId}/products": { "get": { "tags": [ "Campaign" ], - "description": "Includes the state of the proposal, the status of the booking and approval, as well as any comments explaining why it might have been rejected.", - "operationId": "FetchProposal", + "description": "Retrieve a page of promoted products for a line item", + "operationId": "FetchPromotedProducts", "parameters": [ { - "name": "id", + "name": "lineItemId", "in": "path", - "description": "ID of the line item", + "description": "ID of the line item.", "required": true, "style": "simple", "schema": { "type": "string" } + }, + { + "name": "offset", + "in": "query", + "description": "Offset of the first item to fetch. Defaults to zero.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "limit", + "in": "query", + "description": "Maximum page size to fetch. Defaults to 500.", + "style": "form", + "schema": { + "type": "integer", + "format": "int32" + } + }, + { + "name": "fields", + "in": "query", + "description": "A comma separated list of attribute names from the response model to compute and return.\r\n Valid values are `status` and `bidOverride` in any order. Defaults to `status`.", + "style": "form", + "schema": { + "type": "string" + } } ], "responses": { "200": { - "description": "Success", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProposalStatusModelResponse" - } - } - } - }, - "400": { - "description": "Bad Request", + "description": "Promoted products associated with the line item", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ResourceOutcome" + "$ref": "#/components/schemas/PromotedProductResourceCollectionOutcome" } } } }, "403": { - "description": "Forbidden", + "description": "Invalid external line item ID", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ResourceOutcome" + "$ref": "#/components/schemas/ProductResourceOutcome" } } } @@ -1333,16 +1570,16 @@ } } }, - "/preview/retail-media/preferred-deal-line-items/{id}/proposal/submit": { + "/preview/retail-media/line-items/{lineItemId}/products/append": { "post": { "tags": [ "Campaign" ], - "description": "Only the components of the Line Item that are in a valid state will be reviewed.", - "operationId": "SubmitProposal", + "description": "Append a collection of promoted products to a line item", + "operationId": "AppendPromotedProducts", "parameters": [ { - "name": "id", + "name": "lineItemId", "in": "path", "description": "ID of the line item", "required": true, @@ -1352,33 +1589,36 @@ } } ], - "responses": { - "200": { - "description": "Success", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProposalStatusModelResponse" - } + "requestBody": { + "description": "Request body whose {data} contains an array of promoted products.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PromotedProductResourceCollectionInput" } } + } + }, + "responses": { + "204": { + "description": "Promoted products appended to the line item" }, "400": { - "description": "Bad Request", + "description": "Invalid request body", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ResourceOutcome" + "$ref": "#/components/schemas/ProductResourceOutcome" } } } }, "403": { - "description": "Forbidden", + "description": "Invalid external line item ID", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ResourceOutcome" + "$ref": "#/components/schemas/ProductResourceOutcome" } } } @@ -1386,54 +1626,55 @@ } } }, - "/preview/retail-media/accounts/{account-id}/creatives": { + "/preview/retail-media/line-items/{lineItemId}/products/delete": { "post": { "tags": [ "Campaign" ], - "description": "Create a creative for an account", - "operationId": "PostApiV2ExternalAccountCreativesByAccountId", + "description": "Remove a collection of promoted products from a line item", + "operationId": "DeletePromotedProducts", "parameters": [ { - "name": "account-id", + "name": "lineItemId", "in": "path", - "description": "External account id to create a creative for", + "description": "ID of the line item", "required": true, "style": "simple", "schema": { "type": "string" - }, - "x-nullable": false + } } ], "requestBody": { - "description": "The creative to create", + "description": "Request body whose {data} contains an array of promoted products.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ExternalCreativeCreateModelV2" + "$ref": "#/components/schemas/PromotedProductResourceCollectionInput" } } - }, - "x-bodyName": "body" + } }, "responses": { - "201": { - "description": "Creatives created", + "204": { + "description": "Promoted products removed from the line item" + }, + "400": { + "description": "Invalid request body", "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/CreativeV2Response" - } - }, "application/json": { "schema": { - "$ref": "#/components/schemas/CreativeV2Response" + "$ref": "#/components/schemas/ProductResourceOutcome" } - }, - "text/json": { + } + } + }, + "403": { + "description": "Invalid external line item ID", + "content": { + "application/json": { "schema": { - "$ref": "#/components/schemas/CreativeV2Response" + "$ref": "#/components/schemas/ProductResourceOutcome" } } } @@ -1441,56 +1682,55 @@ } } }, - "/preview/retail-media/accounts/{account-id}/creatives/search": { + "/preview/retail-media/line-items/{lineItemId}/products/pause": { "post": { "tags": [ "Campaign" ], - "description": "Get account creatives", - "operationId": "PostApiV2ExternalAccountCreativesSearchByAccountId", + "description": "Pause a collection of promoted products associated with a line item", + "operationId": "PausePromotedProducts", "parameters": [ { - "name": "account-id", + "name": "lineItemId", "in": "path", - "description": "External account id to retrieve creatives for", + "description": "ID of the line item", "required": true, "style": "simple", "schema": { "type": "string" - }, - "x-nullable": false - }, - { - "name": "creative-ids", - "in": "query", - "description": "Creatives to filter by", - "style": "form", - "schema": { - "type": "array", - "items": { - "type": "string" - } - }, - "x-nullable": false + } } ], + "requestBody": { + "description": "Request body whose {data} contains an array of promoted products.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PromotedProductResourceCollectionInput" + } + } + } + }, "responses": { - "200": { - "description": "Creatives found", + "204": { + "description": "Promoted products paused" + }, + "400": { + "description": "Invalid request body", "content": { - "text/plain": { - "schema": { - "$ref": "#/components/schemas/CreativeV2ListResponse" - } - }, "application/json": { "schema": { - "$ref": "#/components/schemas/CreativeV2ListResponse" + "$ref": "#/components/schemas/ProductResourceOutcome" } - }, - "text/json": { + } + } + }, + "403": { + "description": "Invalid external line item ID", + "content": { + "application/json": { "schema": { - "$ref": "#/components/schemas/CreativeV2ListResponse" + "$ref": "#/components/schemas/ProductResourceOutcome" } } } @@ -1498,82 +1738,180 @@ } } }, - "/preview/retail-media/accounts/{account-id}/creatives/{creative-id}": { - "get": { + "/preview/retail-media/line-items/{lineItemId}/products/unpause": { + "post": { "tags": [ "Campaign" ], - "description": "Get the specified creative", - "operationId": "GetApiV2ExternalAccountByAccountId}Creatives{creativeId", + "description": "Un-pause a collection of promoted products associated with a line item", + "operationId": "UnpausePromotedProducts", "parameters": [ { - "name": "account-id", + "name": "lineItemId", "in": "path", - "description": "External account id to retrieve creatives for", + "description": "ID of the line item", "required": true, "style": "simple", "schema": { "type": "string" - }, - "x-nullable": false + } + } + ], + "requestBody": { + "description": "Request body whose {data} contains an array of promoted products.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PromotedProductResourceCollectionInput" + } + } + } + }, + "responses": { + "204": { + "description": "Promoted products un-paused" + }, + "400": { + "description": "Invalid request body", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProductResourceOutcome" + } + } + } }, + "403": { + "description": "Invalid external line item ID", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProductResourceOutcome" + } + } + } + } + } + } + }, + "/preview/retail-media/preferred-deal-line-items/{id}/proposal": { + "get": { + "tags": [ + "Campaign" + ], + "description": "Includes the state of the proposal, the status of the booking and approval, as well as any comments explaining why it might have been rejected.", + "operationId": "FetchProposal", + "parameters": [ { - "name": "creative-id", + "name": "id", "in": "path", - "description": "Creative to get", + "description": "ID of the line item", "required": true, "style": "simple", "schema": { "type": "string" - }, - "x-nullable": false + } } ], "responses": { "200": { - "description": "Creatives found", + "description": "Success", "content": { - "text/plain": { + "application/json": { "schema": { - "$ref": "#/components/schemas/CreativeV2Response" + "$ref": "#/components/schemas/ProposalStatusModelResponse" } - }, + } + } + }, + "400": { + "description": "Bad Request", + "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CreativeV2Response" + "$ref": "#/components/schemas/ResourceOutcome" } - }, - "text/json": { + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { "schema": { - "$ref": "#/components/schemas/CreativeV2Response" + "$ref": "#/components/schemas/ResourceOutcome" } } } } } - }, - "put": { + } + }, + "/preview/retail-media/preferred-deal-line-items/{id}/proposal/submit": { + "post": { "tags": [ "Campaign" ], - "description": "Update a creative", - "operationId": "PutApiV2ExternalAccountByAccountId}Creatives{creativeId", + "description": "Only the components of the Line Item that are in a valid state will be reviewed.", + "operationId": "SubmitProposal", "parameters": [ { - "name": "account-id", + "name": "id", "in": "path", - "description": "External account id containing the creative", + "description": "ID of the line item", "required": true, "style": "simple", "schema": { "type": "string" - }, - "x-nullable": false + } + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProposalStatusModelResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResourceOutcome" + } + } + } }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResourceOutcome" + } + } + } + } + } + } + }, + "/preview/retail-media/accounts/{account-id}/creatives": { + "post": { + "tags": [ + "Campaign" + ], + "description": "Create a creative for an account", + "operationId": "PostApiV2ExternalAccountCreativesByAccountId", + "parameters": [ { - "name": "creative-id", + "name": "account-id", "in": "path", - "description": "Creative to update", + "description": "External account id to create a creative for", "required": true, "style": "simple", "schema": { @@ -1587,7 +1925,183 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ExternalCreativeUpdateModelV2" + "$ref": "#/components/schemas/ExternalCreativeCreateModelV2" + } + } + }, + "x-bodyName": "body" + }, + "responses": { + "201": { + "description": "Creatives created", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/CreativeV2Response" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreativeV2Response" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/CreativeV2Response" + } + } + } + } + } + } + }, + "/preview/retail-media/accounts/{account-id}/creatives/search": { + "post": { + "tags": [ + "Campaign" + ], + "description": "Get account creatives", + "operationId": "PostApiV2ExternalAccountCreativesSearchByAccountId", + "parameters": [ + { + "name": "account-id", + "in": "path", + "description": "External account id to retrieve creatives for", + "required": true, + "style": "simple", + "schema": { + "type": "string" + }, + "x-nullable": false + }, + { + "name": "creative-ids", + "in": "query", + "description": "Creatives to filter by", + "style": "form", + "schema": { + "type": "array", + "items": { + "type": "string" + } + }, + "x-nullable": false + } + ], + "responses": { + "200": { + "description": "Creatives found", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/CreativeV2ListResponse" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreativeV2ListResponse" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/CreativeV2ListResponse" + } + } + } + } + } + } + }, + "/preview/retail-media/accounts/{account-id}/creatives/{creative-id}": { + "get": { + "tags": [ + "Campaign" + ], + "description": "Get the specified creative", + "operationId": "GetApiV2ExternalAccountByAccountId}Creatives{creativeId", + "parameters": [ + { + "name": "account-id", + "in": "path", + "description": "External account id to retrieve creatives for", + "required": true, + "style": "simple", + "schema": { + "type": "string" + }, + "x-nullable": false + }, + { + "name": "creative-id", + "in": "path", + "description": "Creative to get", + "required": true, + "style": "simple", + "schema": { + "type": "string" + }, + "x-nullable": false + } + ], + "responses": { + "200": { + "description": "Creatives found", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/CreativeV2Response" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreativeV2Response" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/CreativeV2Response" + } + } + } + } + } + }, + "put": { + "tags": [ + "Campaign" + ], + "description": "Update a creative", + "operationId": "PutApiV2ExternalAccountByAccountId}Creatives{creativeId", + "parameters": [ + { + "name": "account-id", + "in": "path", + "description": "External account id containing the creative", + "required": true, + "style": "simple", + "schema": { + "type": "string" + }, + "x-nullable": false + }, + { + "name": "creative-id", + "in": "path", + "description": "Creative to update", + "required": true, + "style": "simple", + "schema": { + "type": "string" + }, + "x-nullable": false + } + ], + "requestBody": { + "description": "The creative to create", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ExternalCreativeUpdateModelV2" } } }, @@ -1625,6 +2139,80 @@ } } }, + "/preview/retail-media/accounts/{accountId}/catalogs/sellers": { + "post": { + "tags": [ + "Campaign" + ], + "description": "Create a request for a Catalog available to the indicated account.", + "operationId": "Catalog_PostApiV1ExternalAccountCatalogsSellersByAccountId", + "parameters": [ + { + "name": "accountId", + "in": "path", + "description": "The account to request the catalog for.", + "required": true, + "style": "simple", + "schema": { + "type": "string" + }, + "x-nullable": false + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/JsonApiRequestOfSellerCatalogRequest" + } + } + }, + "x-bodyName": "body" + }, + "responses": { + "200": { + "description": "Catalog request successfully created", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/JsonApiSingleResponseOfCatalogStatus" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/JsonApiSingleResponseOfCatalogStatus" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/JsonApiSingleResponseOfCatalogStatus" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/JsonApiSingleResponseOfCatalogStatus" + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/JsonApiSingleResponseOfCatalogStatus" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/JsonApiSingleResponseOfCatalogStatus" + } + } + } + } + } + } + }, "/preview/retail-media/catalogs/sku-retrieval": { "post": { "tags": [ @@ -2874,288 +3462,67 @@ } } }, - "/preview/retail-media/account-management/accounts/{accountId}/brands/add": { - "post": { + "/preview/retail-media/balances/{balanceId}/history": { + "get": { "tags": [ - "Accounts" + "Balance" ], - "description": "Add brands to an account", - "operationId": "AddBrands", + "description": "Gets the balance's historical change data.", + "operationId": "GetBalanceHistory", "parameters": [ { - "name": "accountId", + "name": "balanceId", "in": "path", - "description": "the account id to update", + "description": "Balance id.", "required": true, "style": "simple", "schema": { "type": "string" } - } - ], - "requestBody": { - "description": "brands to associate to account", - "content": { - "application/json-patch+json": { - "schema": { - "$ref": "#/components/schemas/ValueResourceInputOfRetailMediaBrands" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/ValueResourceInputOfRetailMediaBrands" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/ValueResourceInputOfRetailMediaBrands" - } - }, - "application/*+json": { - "schema": { - "$ref": "#/components/schemas/ValueResourceInputOfRetailMediaBrands" - } - } - } - }, - "responses": { - "200": { - "description": "Success", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ValueResourceOfRetailMediaBrands" - } - } - } - } - } - } - }, - "/preview/retail-media/account-management/accounts/{accountId}/brands/remove": { - "post": { - "tags": [ - "Accounts" - ], - "description": "Remove a brand from an account", - "operationId": "RemoveBrands", - "parameters": [ - { - "name": "accountId", - "in": "path", - "description": "the account id to update", - "required": true, - "style": "simple", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json-patch+json": { - "schema": { - "$ref": "#/components/schemas/ValueResourceInputOfRetailMediaBrands" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/ValueResourceInputOfRetailMediaBrands" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/ValueResourceInputOfRetailMediaBrands" - } - }, - "application/*+json": { - "schema": { - "$ref": "#/components/schemas/ValueResourceInputOfRetailMediaBrands" - } - } - } - }, - "responses": { - "200": { - "description": "Success", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ValueResourceOfRetailMediaBrands" - } - } - } - } - } - } - }, - "/preview/retail-media/account-management/accounts/{accountId}/create-brand-account": { - "post": { - "tags": [ - "Accounts" - ], - "description": "Creates a new child Demand Brand Account for the provided parent private market account", - "operationId": "CreatePrivateMarketDemandBrandAccount", - "parameters": [ + }, { - "name": "accountId", - "in": "path", - "description": "Account Id for the parent private market account", - "required": true, - "style": "simple", + "name": "offset", + "in": "query", + "description": "The (zero-based) starting offset in the collection.", + "style": "form", "schema": { - "type": "string" - } - } - ], - "requestBody": { - "description": "Initial creation and configuration options for the new account", - "content": { - "application/json-patch+json": { - "schema": { - "$ref": "#/components/schemas/ValueResourceInputOfRetailMediaBrandAccountCreation" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/ValueResourceInputOfRetailMediaBrandAccountCreation" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/ValueResourceInputOfRetailMediaBrandAccountCreation" - } - }, - "application/*+json": { - "schema": { - "$ref": "#/components/schemas/ValueResourceInputOfRetailMediaBrandAccountCreation" - } - } - } - }, - "responses": { - "201": { - "description": "Success", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ResourceOutcomeOfRetailMediaAccount" - } - } + "maximum": 2147483647, + "minimum": 0, + "type": "integer", + "format": "int32", + "default": 0 } - } - } - } - }, - "/preview/retail-media/account-management/accounts/{accountId}/create-seller-account": { - "post": { - "tags": [ - "Accounts" - ], - "description": "Creates a new child Demand Seller Account for the provided parent private market account", - "operationId": "CreatePrivateMarketDemandSellerAccount", - "parameters": [ + }, { - "name": "accountId", - "in": "path", - "description": "Account Id for the parent private market account", - "required": true, - "style": "simple", + "name": "limit", + "in": "query", + "description": "The number of elements to be returned.", + "style": "form", "schema": { - "type": "string" - } - } - ], - "requestBody": { - "description": "Initial creation and configuration options for the new account", - "content": { - "application/json-patch+json": { - "schema": { - "$ref": "#/components/schemas/ValueResourceInputOfRetailMediaSellerAccountCreation" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/ValueResourceInputOfRetailMediaSellerAccountCreation" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/ValueResourceInputOfRetailMediaSellerAccountCreation" - } - }, - "application/*+json": { - "schema": { - "$ref": "#/components/schemas/ValueResourceInputOfRetailMediaSellerAccountCreation" - } - } - } - }, - "responses": { - "201": { - "description": "Success", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ResourceOutcomeOfRetailMediaAccount" - } - } + "maximum": 100, + "minimum": 1, + "type": "integer", + "format": "int32", + "default": 25 } - } - } - } - }, - "/preview/retail-media/account-management/accounts/{accountId}/sellers": { - "put": { - "tags": [ - "Accounts" - ], - "description": "replace the sellers assoiated with an account", - "operationId": "UpdateSellers", - "parameters": [ + }, { - "name": "accountId", - "in": "path", - "description": "the account id to update", - "required": true, - "style": "simple", + "name": "limitToChangeTypes", + "in": "query", + "description": "Comma separated change types string that will be queried.", + "style": "form", "schema": { "type": "string" } } ], - "requestBody": { - "description": "sellers to associate", - "content": { - "application/json-patch+json": { - "schema": { - "$ref": "#/components/schemas/ValueResourceCollectionInputOfRetailMediaSeller" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/ValueResourceCollectionInputOfRetailMediaSeller" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/ValueResourceCollectionInputOfRetailMediaSeller" - } - }, - "application/*+json": { - "schema": { - "$ref": "#/components/schemas/ValueResourceCollectionInputOfRetailMediaSeller" - } - } - } - }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ValueResourceCollectionOutcomeOfRetailMediaSeller" + "$ref": "#/components/schemas/PageOfBalanceHistoryChangeDataCaptureV1" } } } @@ -3238,7 +3605,8 @@ "$ref": "#/components/schemas/ValueResourceInputOfCampaignBudgetOverrides" } } - } + }, + "x-bodyName": "campaignBudgetOverridesInput" }, "responses": { "201": { @@ -3336,7 +3704,8 @@ "$ref": "#/components/schemas/SkuSearchRequest" } } - } + }, + "x-bodyName": "skuSearchRequest" }, "responses": { "200": { @@ -3358,7 +3727,7 @@ "Campaign" ], "description": "Gets the balance's historical data change capture.", - "operationId": "GetInsertionOrderHistoryChangeDataCapture", + "operationId": "GetInsertionOrderHistoryChangeDataCaptureV2", "parameters": [ { "name": "insertionOrderId", @@ -3412,7 +3781,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PageOfInsertionOrderHistoryChangeDataCapture" + "$ref": "#/components/schemas/PageOfInsertionOrderHistoryChangeDataCaptureV2" } } } @@ -3526,7 +3895,8 @@ "$ref": "#/components/schemas/ValueResourceInputOfLineItemBudgetOverrides" } } - } + }, + "x-bodyName": "lineItemBudgetOverridesInput" }, "responses": { "201": { @@ -3542,18 +3912,18 @@ } } }, - "/preview/retail-media/campaigns/{campaign-id}/preferred-line-items": { + "/preview/retail-media/accounts/{account-id}/balances": { "get": { "tags": [ - "Campaign" + "Balance" ], - "description": "Gets page of preferred line item objects for the given campaign id", - "operationId": "GetApiV2ExternalCampaignPreferredLineItemsByCampaignId", + "description": "Gets page of balance objects for the given account id", + "operationId": "GetApiV2ExternalAccountBalancesByAccountId", "parameters": [ { - "name": "campaign-id", + "name": "account-id", "in": "path", - "description": "The given campaign id", + "description": "The account to get balances for", "required": true, "style": "simple", "schema": { @@ -3565,6 +3935,7 @@ "name": "limitToId", "in": "query", "description": "The ids that you would like to limit your result set to", + "required": true, "style": "form", "schema": { "type": "array", @@ -3578,10 +3949,12 @@ "name": "pageIndex", "in": "query", "description": "The 0 indexed page index you would like to receive given the page size", + "required": true, "style": "form", "schema": { "type": "integer", - "format": "int32" + "format": "int32", + "default": 0 }, "x-nullable": false }, @@ -3589,10 +3962,12 @@ "name": "pageSize", "in": "query", "description": "The maximum number of items you would like to receive in this request", + "required": true, "style": "form", "schema": { "type": "integer", - "format": "int32" + "format": "int32", + "default": 25 }, "x-nullable": false } @@ -3601,19 +3976,19 @@ "200": { "description": "Success", "content": { - "application/json": { + "text/plain": { "schema": { - "$ref": "#/components/schemas/PreferredLineItemV2PagedListResponse" + "$ref": "#/components/schemas/PagedResourceCollectionOutcomeOfBalanceResponseV2" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { + }, "application/json": { "schema": { - "$ref": "#/components/schemas/PreferredLineItemV2PagedListResponse" + "$ref": "#/components/schemas/PagedResourceCollectionOutcomeOfBalanceResponseV2" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/PagedResourceCollectionOutcomeOfBalanceResponseV2" } } } @@ -3622,15 +3997,15 @@ }, "post": { "tags": [ - "Campaign" + "Balance" ], - "description": "Creates a new preferred line item with the specified settings", - "operationId": "LineItemsApi_PostApi202110ExternalCampaignPreferredLineItemsByCampaignId", + "description": "Create balance for the given account id", + "operationId": "PostApiV2ExternalAccountBalancesByAccountId", "parameters": [ { - "name": "campaign-id", + "name": "account-id", "in": "path", - "description": "The given campaign id", + "description": "The account to create balances for", "required": true, "style": "simple", "schema": { @@ -3640,35 +4015,35 @@ } ], "requestBody": { - "description": "The line item settings to create a line item with", + "description": "An object that represents the available options to set when creating a Retail Media Balance", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PreferredLineItemCreateModelV2Request" + "$ref": "#/components/schemas/CreateBalanceV2Request" } } }, "required": true, "x-nullable": false, - "x-bodyName": "lineItem" + "x-bodyName": "createBalance" }, "responses": { "201": { "description": "Success", "content": { - "application/json": { + "text/plain": { "schema": { - "$ref": "#/components/schemas/PreferredLineItemV2Response" + "$ref": "#/components/schemas/BalanceResponseV2Response" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { + }, "application/json": { "schema": { - "$ref": "#/components/schemas/PreferredLineItemV2Response" + "$ref": "#/components/schemas/BalanceResponseV2Response" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/BalanceResponseV2Response" } } } @@ -3676,18 +4051,29 @@ } } }, - "/preview/retail-media/line-items/{line-item-id}/bid-multipliers": { + "/preview/retail-media/accounts/{account-id}/balances/{balance-id}": { "get": { "tags": [ - "Campaign" + "Balance" ], - "description": "Fetch all bid multipliers for a given line item", - "operationId": "GetApiV2ExternalLineItemBidMultipliersByLineItemId", + "description": "Get a balance for the given account id and balance id", + "operationId": "GetApiV2ExternalAccountByAccountId}Balances{balanceId", "parameters": [ { - "name": "line-item-id", + "name": "account-id", "in": "path", - "description": "External LineItemId for bid multiplier retrieval", + "description": "The account of the balance", + "required": true, + "style": "simple", + "schema": { + "type": "string" + }, + "x-nullable": false + }, + { + "name": "balance-id", + "in": "path", + "description": "The balance id", "required": true, "style": "simple", "schema": { @@ -3698,38 +4084,49 @@ ], "responses": { "200": { - "description": "BidMultipliers Found", + "description": "Success", "content": { "text/plain": { "schema": { - "$ref": "#/components/schemas/JsonApiSingleResponseOfLineItemBidMultipliersV2" + "$ref": "#/components/schemas/BalanceResponseV2Response" } }, "application/json": { "schema": { - "$ref": "#/components/schemas/JsonApiSingleResponseOfLineItemBidMultipliersV2" + "$ref": "#/components/schemas/BalanceResponseV2Response" } }, "text/json": { "schema": { - "$ref": "#/components/schemas/JsonApiSingleResponseOfLineItemBidMultipliersV2" + "$ref": "#/components/schemas/BalanceResponseV2Response" } } } } } }, - "put": { + "patch": { "tags": [ - "Campaign" + "Balance" ], - "description": "Updates the bid multipliers for a given line item", - "operationId": "PutApiV2ExternalLineItemBidMultipliersByLineItemId", + "description": "Modify a balance for the given account id", + "operationId": "PatchApiV2ExternalAccountByAccountId}Balances{balanceId", "parameters": [ { - "name": "line-item-id", + "name": "account-id", "in": "path", - "description": "External LineItemId for bid multiplier retrieval", + "description": "The account of the balance", + "required": true, + "style": "simple", + "schema": { + "type": "string" + }, + "x-nullable": false + }, + { + "name": "balance-id", + "in": "path", + "description": "The balance to change the dates", "required": true, "style": "simple", "schema": { @@ -3739,33 +4136,35 @@ } ], "requestBody": { - "description": "New Bid Multipliers to be set", + "description": "An object that represents the available options to modify a balance.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/LineItemBidMultipliersV2Request" + "$ref": "#/components/schemas/UpdateBalanceModelV2Request" } } }, - "x-bodyName": "request" + "required": true, + "x-nullable": false, + "x-bodyName": "updateBalanceModel" }, "responses": { "200": { - "description": "BidMultipliers Updated", + "description": "Success", "content": { "text/plain": { "schema": { - "$ref": "#/components/schemas/LineItemBidMultipliersV2Response" + "$ref": "#/components/schemas/BalanceResponseV2Response" } }, "application/json": { "schema": { - "$ref": "#/components/schemas/LineItemBidMultipliersV2Response" + "$ref": "#/components/schemas/BalanceResponseV2Response" } }, "text/json": { "schema": { - "$ref": "#/components/schemas/LineItemBidMultipliersV2Response" + "$ref": "#/components/schemas/BalanceResponseV2Response" } } } @@ -3773,18 +4172,29 @@ } } }, - "/preview/retail-media/line-items/{line-item-id}/product-buttons": { - "get": { + "/preview/retail-media/accounts/{account-id}/balances/{balance-id}/add-funds": { + "post": { "tags": [ - "Campaign" + "Balance" ], - "description": "Get all the product buttons associated with a line item", - "operationId": "ProductButtons_GetApi202210ExternalLineItemProductButtonsByLineItemId", + "description": "Add funds to a balance for the given account id", + "operationId": "PostApiV2ExternalAccountAddFundsByAccountId}Balances{balanceId", "parameters": [ { - "name": "line-item-id", + "name": "account-id", "in": "path", - "description": "Long external id of the associated line item", + "description": "The account of the balance", + "required": true, + "style": "simple", + "schema": { + "type": "string" + }, + "x-nullable": false + }, + { + "name": "balance-id", + "in": "path", + "description": "The balance to add funds to", "required": true, "style": "simple", "schema": { @@ -3793,13 +4203,36 @@ "x-nullable": false } ], + "requestBody": { + "description": "An object that represents the available options of adding funds to a balance.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AddFundsToBalanceV2Request" + } + } + }, + "required": true, + "x-nullable": false, + "x-bodyName": "addFundsToBalance" + }, "responses": { "200": { "description": "Success", "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/BalanceResponseV2Response" + } + }, "application/json": { "schema": { - "$ref": "#/components/schemas/ProductButtonListResponse" + "$ref": "#/components/schemas/BalanceResponseV2Response" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/BalanceResponseV2Response" } } } @@ -3807,18 +4240,29 @@ } } }, - "/preview/retail-media/line-items/{line-item-id}/product-buttons/create": { + "/preview/retail-media/accounts/{account-id}/balances/{balance-id}/change-dates": { "post": { "tags": [ - "Campaign" + "Balance" ], - "description": "Append new product buttons to a line item", - "operationId": "ProductButtons_PostApi202210ExternalLineItemProductButtonsCreateByLineItemId", + "description": "Change dates of a balance for the given account id", + "operationId": "PostApiV2ExternalAccountChangeDatesByAccountId}Balances{balanceId", "parameters": [ { - "name": "line-item-id", + "name": "account-id", "in": "path", - "description": "Long external id of the associated line item", + "description": "The account of the balance", + "required": true, + "style": "simple", + "schema": { + "type": "string" + }, + "x-nullable": false + }, + { + "name": "balance-id", + "in": "path", + "description": "The balance to change the dates", "required": true, "style": "simple", "schema": { @@ -3828,24 +4272,35 @@ } ], "requestBody": { - "description": "List of product buttons to append to the specified line item", + "description": "An object that represents the available options to modify schedule of a balance.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ProductButtonListRequest" + "$ref": "#/components/schemas/ChangeDatesOfBalanceV2Request" } } }, + "required": true, "x-nullable": false, - "x-bodyName": "productButtons" + "x-bodyName": "changeDatesOfBalance" }, "responses": { "200": { "description": "Success", "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/BalanceResponseV2Response" + } + }, "application/json": { "schema": { - "$ref": "#/components/schemas/ProductButtonListResponse" + "$ref": "#/components/schemas/BalanceResponseV2Response" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/BalanceResponseV2Response" } } } @@ -3853,18 +4308,18 @@ } } }, - "/preview/retail-media/line-items/{line-item-id}/product-buttons/{product-button-id}": { - "delete": { + "/preview/retail-media/campaigns/{campaign-id}/preferred-line-items": { + "get": { "tags": [ "Campaign" ], - "description": "Delete a product button", - "operationId": "ProductButtons_DeleteApi202210ExternalLineItemProductButtonsByLineItemIdProductButtonId", + "description": "Gets page of preferred line item objects for the given campaign id", + "operationId": "GetApiV2ExternalCampaignPreferredLineItemsByCampaignId", "parameters": [ { - "name": "line-item-id", + "name": "campaign-id", "in": "path", - "description": "Long external id of the associated line item", + "description": "The given campaign id", "required": true, "style": "simple", "schema": { @@ -3873,49 +4328,37 @@ "x-nullable": false }, { - "name": "product-button-id", - "in": "path", - "description": "Sequential id of the product button", - "required": true, - "style": "simple", + "name": "limitToId", + "in": "query", + "description": "The ids that you would like to limit your result set to", + "style": "form", "schema": { - "type": "string" + "type": "array", + "items": { + "type": "string" + } }, "x-nullable": false - } - ], - "responses": { - "200": { - "description": "Success" - } - } - }, - "get": { - "tags": [ - "Campaign" - ], - "description": "Get a single product button", - "operationId": "ProductButtons_GetApi202210ExternalLineItemProductButtonsByLineItemIdProductButtonId", - "parameters": [ + }, { - "name": "line-item-id", - "in": "path", - "description": "Long external id of the associated line item", - "required": true, - "style": "simple", + "name": "pageIndex", + "in": "query", + "description": "The 0 indexed page index you would like to receive given the page size", + "style": "form", "schema": { - "type": "string" + "type": "integer", + "format": "int32" }, "x-nullable": false }, { - "name": "product-button-id", - "in": "path", - "description": "Sequential id of the product button", - "required": true, - "style": "simple", + "name": "pageSize", + "in": "query", + "description": "The maximum number of items you would like to receive in this request", + "style": "form", "schema": { - "type": "string" + "type": "integer", + "format": "int32" }, "x-nullable": false } @@ -3926,35 +4369,34 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ProductButtonListResponse" + "$ref": "#/components/schemas/PreferredLineItemV2PagedListResponse" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PreferredLineItemV2PagedListResponse" } } } } } }, - "put": { + "post": { "tags": [ "Campaign" ], - "description": "Update a product button", - "operationId": "ProductButtons_PutApi202210ExternalLineItemProductButtonsByLineItemIdProductButtonId", + "description": "Creates a new preferred line item with the specified settings", + "operationId": "LineItemsApi_PostApi202110ExternalCampaignPreferredLineItemsByCampaignId", "parameters": [ { - "name": "line-item-id", - "in": "path", - "description": "Long external id of the associated line item", - "required": true, - "style": "simple", - "schema": { - "type": "string" - }, - "x-nullable": false - }, - { - "name": "product-button-id", + "name": "campaign-id", "in": "path", - "description": "Sequential id of the product button", + "description": "The given campaign id", "required": true, "style": "simple", "schema": { @@ -3964,24 +4406,35 @@ } ], "requestBody": { - "description": "Details of the updated product button", + "description": "The line item settings to create a line item with", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ProductButtonRequest" + "$ref": "#/components/schemas/PreferredLineItemCreateModelV2Request" } } }, + "required": true, "x-nullable": false, - "x-bodyName": "productButton" + "x-bodyName": "lineItem" }, "responses": { - "200": { + "201": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ProductButtonListResponse" + "$ref": "#/components/schemas/PreferredLineItemV2Response" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PreferredLineItemV2Response" } } } @@ -3989,18 +4442,18 @@ } } }, - "/preview/retail-media/preferred-line-items/{line-item-id}": { + "/preview/retail-media/line-items/{line-item-id}/bid-multipliers": { "get": { "tags": [ "Campaign" ], - "description": "Gets the preferred line item for the given line item id", - "operationId": "GetApiV2ExternalPreferredLineItemByLineItemId", - "parameters": [ + "description": "Fetch all bid multipliers for a given line item", + "operationId": "GetApiV2ExternalLineItemBidMultipliersByLineItemId", + "parameters": [ { "name": "line-item-id", "in": "path", - "description": "The given line item id", + "description": "External LineItemId for bid multiplier retrieval", "required": true, "style": "simple", "schema": { @@ -4011,21 +4464,21 @@ ], "responses": { "200": { - "description": "Success", + "description": "BidMultipliers Found", "content": { - "application/json": { + "text/plain": { "schema": { - "$ref": "#/components/schemas/PreferredLineItemV2Response" + "$ref": "#/components/schemas/JsonApiSingleResponseOfLineItemBidMultipliersV2" } - } - } - }, - "400": { - "description": "Bad Request", - "content": { + }, "application/json": { "schema": { - "$ref": "#/components/schemas/PreferredLineItemV2Response" + "$ref": "#/components/schemas/JsonApiSingleResponseOfLineItemBidMultipliersV2" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/JsonApiSingleResponseOfLineItemBidMultipliersV2" } } } @@ -4036,13 +4489,13 @@ "tags": [ "Campaign" ], - "description": "Updates the preferred line item for the given line item id", - "operationId": "LineItemsApi_PutApi202110ExternalPreferredLineItemByLineItemId", + "description": "Updates the bid multipliers for a given line item", + "operationId": "PutApiV2ExternalLineItemBidMultipliersByLineItemId", "parameters": [ { "name": "line-item-id", "in": "path", - "description": "The given line item id", + "description": "External LineItemId for bid multiplier retrieval", "required": true, "style": "simple", "schema": { @@ -4052,155 +4505,468 @@ } ], "requestBody": { - "description": "The line item settings to create a line item with", + "description": "New Bid Multipliers to be set", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PreferredLineItemUpdateModelV2Request" + "$ref": "#/components/schemas/LineItemBidMultipliersV2Request" } } }, - "required": true, - "x-nullable": false, - "x-bodyName": "lineItem" + "x-bodyName": "request" }, "responses": { "200": { - "description": "Success", + "description": "BidMultipliers Updated", "content": { + "text/plain": { + "schema": { + "$ref": "#/components/schemas/LineItemBidMultipliersV2Response" + } + }, "application/json": { "schema": { - "$ref": "#/components/schemas/PreferredLineItemV2Response" + "$ref": "#/components/schemas/LineItemBidMultipliersV2Response" + } + }, + "text/json": { + "schema": { + "$ref": "#/components/schemas/LineItemBidMultipliersV2Response" } } } - }, - "400": { - "description": "Bad Request", + } + } + } + }, + "/preview/retail-media/line-items/{line-item-id}/product-buttons": { + "get": { + "tags": [ + "Campaign" + ], + "description": "Get all the product buttons associated with a line item", + "operationId": "ProductButtons_GetApi202210ExternalLineItemProductButtonsByLineItemId", + "parameters": [ + { + "name": "line-item-id", + "in": "path", + "description": "Long external id of the associated line item", + "required": true, + "style": "simple", + "schema": { + "type": "string" + }, + "x-nullable": false + } + ], + "responses": { + "200": { + "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PreferredLineItemV2Response" + "$ref": "#/components/schemas/ProductButtonListResponse" } } } } } } - } - }, - "components": { - "schemas": { - "GrantConsentInput": { - "type": "object", - "properties": { - "data": { - "$ref": "#/components/schemas/GrantConsentModelValueResource" - } - }, - "description": "A top-level object that encapsulates a Criteo API request for a single value." - }, - "GrantConsentModelValueResource": { - "type": "object", - "properties": { - "type": { - "type": "string", - "nullable": true - }, - "attributes": { - "$ref": "#/components/schemas/GrantConsentModel" - } - }, - "description": "A top-level object that encapsulates a Criteo API response for a single value." - }, - "GrantConsentModel": { - "required": [ - "callbackUrl", - "clientId" + }, + "/preview/retail-media/line-items/{line-item-id}/product-buttons/create": { + "post": { + "tags": [ + "Campaign" ], - "type": "object", - "properties": { - "clientId": { - "type": "string" - }, - "callbackUrl": { - "type": "string" - }, - "callbackState": { - "type": "string", - "nullable": true + "description": "Append new product buttons to a line item", + "operationId": "ProductButtons_PostApi202210ExternalLineItemProductButtonsCreateByLineItemId", + "parameters": [ + { + "name": "line-item-id", + "in": "path", + "description": "Long external id of the associated line item", + "required": true, + "style": "simple", + "schema": { + "type": "string" + }, + "x-nullable": false } - }, - "description": "An object that represents the required (ClientId and CallbackUrl) and optional (CallbackState) parameters when granting consents on behalf of a Private Market demand account." - }, - "RetailMediaContactlistOperation": { - "required": [ - "data", - "errors", - "warnings" ], - "type": "object", - "properties": { - "data": { - "$ref": "#/components/schemas/RetailMediaContactlistOperationResponseAttributes" - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AudienceError" + "requestBody": { + "description": "List of product buttons to append to the specified line item", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProductButtonListRequest" + } } }, - "warnings": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AudienceWarning" + "x-nullable": false, + "x-bodyName": "productButtons" + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProductButtonListResponse" + } + } } } - }, - "description": "Operation on Retail Media contact list" - }, - "ErrorCodeResponse": { - "required": [ - "errors" + } + } + }, + "/preview/retail-media/line-items/{line-item-id}/product-buttons/{product-button-id}": { + "delete": { + "tags": [ + "Campaign" ], - "type": "object", - "properties": { - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AudienceError" - } + "description": "Delete a product button", + "operationId": "ProductButtons_DeleteApi202210ExternalLineItemProductButtonsByLineItemIdProductButtonId", + "parameters": [ + { + "name": "line-item-id", + "in": "path", + "description": "Long external id of the associated line item", + "required": true, + "style": "simple", + "schema": { + "type": "string" + }, + "x-nullable": false }, - "warnings": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AudienceWarning" + { + "name": "product-button-id", + "in": "path", + "description": "Sequential id of the product button", + "required": true, + "style": "simple", + "schema": { + "type": "string" }, - "nullable": true + "x-nullable": false } - }, - "description": "Definition of the error code" - }, - "RetailMediaContactlistAmendmentRequest": { - "required": [ - "data" ], - "type": "object", - "properties": { - "data": { - "$ref": "#/components/schemas/RetailMediaContactlistAmendment" + "responses": { + "200": { + "description": "Success" } - }, - "description": "Request of Retail Media contactlist" + } }, - "RetailMediaContactlistOperationResponseAttributes": { - "required": [ - "attributes", - "type" + "get": { + "tags": [ + "Campaign" ], - "type": "object", - "properties": { - "type": { + "description": "Get a single product button", + "operationId": "ProductButtons_GetApi202210ExternalLineItemProductButtonsByLineItemIdProductButtonId", + "parameters": [ + { + "name": "line-item-id", + "in": "path", + "description": "Long external id of the associated line item", + "required": true, + "style": "simple", + "schema": { + "type": "string" + }, + "x-nullable": false + }, + { + "name": "product-button-id", + "in": "path", + "description": "Sequential id of the product button", + "required": true, + "style": "simple", + "schema": { + "type": "string" + }, + "x-nullable": false + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProductButtonListResponse" + } + } + } + } + } + }, + "put": { + "tags": [ + "Campaign" + ], + "description": "Update a product button", + "operationId": "ProductButtons_PutApi202210ExternalLineItemProductButtonsByLineItemIdProductButtonId", + "parameters": [ + { + "name": "line-item-id", + "in": "path", + "description": "Long external id of the associated line item", + "required": true, + "style": "simple", + "schema": { + "type": "string" + }, + "x-nullable": false + }, + { + "name": "product-button-id", + "in": "path", + "description": "Sequential id of the product button", + "required": true, + "style": "simple", + "schema": { + "type": "string" + }, + "x-nullable": false + } + ], + "requestBody": { + "description": "Details of the updated product button", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProductButtonRequest" + } + } + }, + "x-nullable": false, + "x-bodyName": "productButton" + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProductButtonListResponse" + } + } + } + } + } + } + }, + "/preview/retail-media/preferred-line-items/{line-item-id}": { + "get": { + "tags": [ + "Campaign" + ], + "description": "Gets the preferred line item for the given line item id", + "operationId": "GetApiV2ExternalPreferredLineItemByLineItemId", + "parameters": [ + { + "name": "line-item-id", + "in": "path", + "description": "The given line item id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + }, + "x-nullable": false + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PreferredLineItemV2Response" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PreferredLineItemV2Response" + } + } + } + } + } + }, + "put": { + "tags": [ + "Campaign" + ], + "description": "Updates the preferred line item for the given line item id", + "operationId": "LineItemsApi_PutApi202110ExternalPreferredLineItemByLineItemId", + "parameters": [ + { + "name": "line-item-id", + "in": "path", + "description": "The given line item id", + "required": true, + "style": "simple", + "schema": { + "type": "string" + }, + "x-nullable": false + } + ], + "requestBody": { + "description": "The line item settings to create a line item with", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PreferredLineItemUpdateModelV2Request" + } + } + }, + "required": true, + "x-nullable": false, + "x-bodyName": "lineItem" + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PreferredLineItemV2Response" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PreferredLineItemV2Response" + } + } + } + } + } + } + } + }, + "components": { + "schemas": { + "GrantConsentInput": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/GrantConsentModelValueResource" + } + }, + "description": "An object that encapsulates GrantConsentModel" + }, + "GrantConsentModelValueResource": { + "type": "object", + "properties": { + "type": { + "type": "string", + "nullable": true + }, + "attributes": { + "$ref": "#/components/schemas/GrantConsentModel" + } + }, + "description": "A top-level object that encapsulates a Criteo API response for a single value" + }, + "GrantConsentModel": { + "required": [ + "callbackUrl", + "clientId" + ], + "type": "object", + "properties": { + "clientId": { + "type": "string" + }, + "callbackUrl": { + "type": "string" + }, + "callbackState": { + "type": "string", + "nullable": true + } + }, + "description": "An object that represents the required (ClientId and CallbackUrl) and optional (CallbackState) parameters when granting consents on behalf of a Private Market demand account" + }, + "RetailMediaContactlistOperation": { + "required": [ + "data", + "errors", + "warnings" + ], + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/RetailMediaContactlistOperationResponseAttributes" + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AudienceError" + } + }, + "warnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AudienceWarning" + } + } + }, + "description": "Operation on Retail Media contact list" + }, + "ErrorCodeResponse": { + "required": [ + "errors" + ], + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AudienceError" + } + }, + "warnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AudienceWarning" + }, + "nullable": true + } + }, + "description": "Definition of the error code" + }, + "RetailMediaContactlistAmendmentRequest": { + "required": [ + "data" + ], + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/RetailMediaContactlistAmendment" + } + }, + "description": "Request of Retail Media contactlist" + }, + "RetailMediaContactlistOperationResponseAttributes": { + "required": [ + "attributes", + "type" + ], + "type": "object", + "properties": { + "type": { "type": "string", "description": "the name of the entity type", "example": "AddRemoveContactlistResult" @@ -4268,11 +5034,223 @@ "properties": { "traceId": { "type": "string", - "description": "(REQUIRED) The Correlation ID provided by the Gateway. It is also a unique identifier for this particular occurrence of the problem.", + "description": "(REQUIRED) The Correlation ID provided by the Gateway. It is also a unique identifier for this particular occurrence of the problem.", + "nullable": true + }, + "type": { + "enum": [ + "access-control", + "authentication", + "authorization", + "availability", + "deprecation", + "quota", + "validation" + ], + "type": "string", + "description": "(REQUIRED) The classification of the error" + }, + "code": { + "type": "string", + "description": "(REQUIRED) A machine-readable unique error code, expressed as a string value. The format used must be kebab-case." + }, + "instance": { + "type": "string", + "description": "(REQUIRED) A URI reference that identifies the specific occurrence of the problem" + }, + "title": { + "type": "string", + "description": "(RECOMMENDED) A short, human-readable summary of the problem type", + "nullable": true + }, + "detail": { + "type": "string", + "description": "(RECOMMENDED) A human-readable explanation specific to this occurrence of the problem", + "nullable": true + }, + "source": { + "type": "object", + "description": "(OPTIONAL) A machine-readable structure to reference to the exact location(s) causing the error(s)", + "nullable": true + }, + "stackTrace": { + "type": "array", + "items": { + "type": "string" + }, + "description": "(NEVER IN PRODUCTION) A human-readable stacktrace produced by the implementation technology", + "nullable": true + } + }, + "description": "Definition of an audience error" + }, + "AudienceWarning": { + "required": [ + "code", + "detail", + "instance", + "type" + ], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "description": "(REQUIRED) The Correlation ID provided by the Gateway. It is also a unique identifier for this particular occurrence of the problem.", + "nullable": true + }, + "type": { + "enum": [ + "access-control", + "authentication", + "authorization", + "availability", + "deprecation", + "quota", + "validation" + ], + "type": "string", + "description": "(REQUIRED) The classification of the error" + }, + "code": { + "type": "string", + "description": "(REQUIRED) A machine-readable unique error code, expressed as a string value. The format used must be kebab-case." + }, + "instance": { + "type": "string", + "description": "(REQUIRED) A URI reference that identifies the specific occurrence of the problem" + }, + "title": { + "type": "string", + "description": "(RECOMMENDED) A short, human-readable summary of the problem type", + "nullable": true + }, + "detail": { + "type": "string", + "description": "(REQUIRED) A human-readable explanation specific to this occurrence of the problem" + }, + "source": { + "type": "object", + "description": "(OPTIONAL) A machine-readable structure to reference to the exact location(s) causing the error(s)", + "nullable": true + }, + "stackTrace": { + "type": "array", + "items": { + "type": "string" + }, + "description": "(NEVER IN PRODUCTION) A human-readable stacktrace produced by the implementation technology", + "nullable": true + } + }, + "description": "Definition of the warning" + }, + "RetailMediaContactlistAmendment": { + "required": [ + "attributes" + ], + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "User List", + "nullable": true, + "example": "AddRemoveContactlist" + }, + "attributes": { + "required": [ + "identifiers", + "operation" + ], + "type": "object", + "properties": { + "operation": { + "enum": [ + "add", + "remove" + ], + "type": "string", + "description": "Whether to add or remove users" + }, + "identifierType": { + "enum": [ + "Email", + "UserIdentifier", + "IdentityLink", + "Gum", + "CustomerId", + "PhoneNumber" + ], + "type": "string", + "description": "What type of identifiers are used", + "nullable": true + }, + "identifiers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The users to add or remove, each in the schema specified" + } + }, + "description": "Attributes of retail media contact list amendment" + } + }, + "description": "Request data of retail media contact list amendment" + }, + "ApplicationSummaryModelResponse": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/ApplicationSummaryModelResource" + }, + "warnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true + } + }, + "description": "A top-level object that encapsulates a Criteo API response for a single value" + }, + "ApplicationSummaryModelResource": { + "type": "object", + "properties": { + "type": { + "type": "string", + "nullable": true + }, + "attributes": { + "$ref": "#/components/schemas/ApplicationSummaryModel" + } + }, + "description": "A top-level object that encapsulates a Criteo API response for a single value" + }, + "CommonProblem": { + "type": "object", + "properties": { + "traceId": { + "type": "string", + "description": "The request correlation ID this problem comes from.", + "nullable": true + }, + "traceIdentifier": { + "type": "string", + "description": "The request correlation ID this problem comes from. (deprecated, use traceId instead)", "nullable": true }, "type": { "enum": [ + "unknown", "access-control", "authentication", "authorization", @@ -4282,1775 +5260,1960 @@ "validation" ], "type": "string", - "description": "(REQUIRED) The classification of the error" + "description": "The problem's category.", + "nullable": true }, "code": { "type": "string", - "description": "(REQUIRED) A machine-readable unique error code, expressed as a string value. The format used must be kebab-case." + "description": "A machine-readable error code, expressed as a string value.", + "nullable": true }, "instance": { "type": "string", - "description": "(REQUIRED) A URI reference that identifies the specific occurrence of the problem" + "description": "A URI that identifies the specific occurrence of the problem.", + "nullable": true }, "title": { "type": "string", - "description": "(RECOMMENDED) A short, human-readable summary of the problem type", + "description": "A short human-readable description of the problem type", "nullable": true }, "detail": { "type": "string", - "description": "(RECOMMENDED) A human-readable explanation specific to this occurrence of the problem", + "description": "A human-readable explanation specific to this occurrence of the problem", "nullable": true }, "source": { "type": "object", - "description": "(OPTIONAL) A machine-readable structure to reference to the exact location(s) causing the error(s)", + "additionalProperties": { + "type": "string" + }, + "description": "A machine-readable structure to reference to the exact location(s) causing the error(s)", "nullable": true }, "stackTrace": { + "type": "string", + "nullable": true + } + }, + "description": "Common problem object." + }, + "ApplicationSummaryModel": { + "type": "object", + "properties": { + "applicationId": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "name": { + "type": "string", + "nullable": true + }, + "organizationId": { + "type": "integer", + "format": "int32", + "nullable": true + }, + "description": { + "type": "string", + "nullable": true + }, + "criteoService": { + "type": "string", + "nullable": true + } + }, + "description": "Used for the /me endpoint. Contains information about the currently authenticated application that we accept to give to our clients" + }, + "BatchAcceptedResponse": { + "required": [ + "operationToken" + ], + "type": "object", + "properties": { + "operationToken": { + "type": "string" + } + }, + "description": "A batch was accepted. The report can be accessed using the reporting endpoint." + }, + "FailResponse": { + "required": [ + "errors", + "warnings" + ], + "type": "object", + "properties": { + "errors": { "type": "array", "items": { - "type": "string" + "$ref": "#/components/schemas/ProductImporterError" }, - "description": "(NEVER IN PRODUCTION) A human-readable stacktrace produced by the implementation technology", - "nullable": true + "description": "List of errors" + }, + "warnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ProductImporterWarning" + }, + "description": "List of warnings" } }, - "description": "Definition of an audience error" + "description": "Error server response." }, - "AudienceWarning": { + "ReportOkResponse": { + "required": [ + "errorDetails", + "importRequestTimestamp", + "numberOfProductsDeleted", + "numberOfProductsInTheBatch", + "numberOfProductsUpserted", + "numberOfProductsWithErrors", + "status" + ], + "type": "object", + "properties": { + "status": { + "enum": [ + "ACCEPTED", + "IN_PROGRESS", + "VALIDATED", + "VALIDATED_WITH_ERRORS", + "FAILED" + ], + "type": "string", + "description": "The status of the operation.\nThe operation is completed when the status is one of (VALIDATED,VALIDATED_WITH_ERRORS,FAILED)" + }, + "importRequestTimestamp": { + "type": "integer", + "description": "The date when the original batch request was sent.", + "format": "int64" + }, + "numberOfProductsInTheBatch": { + "type": "integer", + "description": "The number of products present in the batch.", + "format": "int32" + }, + "numberOfProductsUpserted": { + "type": "integer", + "description": "The number of products upserted.", + "format": "int32" + }, + "numberOfProductsDeleted": { + "type": "integer", + "description": "The number of products deleted.", + "format": "int32" + }, + "numberOfProductsWithErrors": { + "type": "integer", + "description": "The number of products with errors.", + "format": "int32" + }, + "errorDetails": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ReportDetailErrors" + }, + "description": "The list of errors with details." + } + }, + "description": "The report on a given operationToken is ready. The report is available for 4 days" + }, + "ProductsCustomBatchRequest": { + "required": [ + "entries" + ], + "type": "object", + "properties": { + "entries": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ProductsCustomBatchRequestEntry" + }, + "description": "The request entries to be processed in the batch." + } + }, + "description": "Defines a batch of operations." + }, + "ProductImporterError": { "required": [ "code", "detail", "instance", + "title", + "traceId", "type" ], "type": "object", "properties": { "traceId": { "type": "string", - "description": "(REQUIRED) The Correlation ID provided by the Gateway. It is also a unique identifier for this particular occurrence of the problem.", + "description": "The MACHINE-READABLE correlation ID provided by the gateway" + }, + "type": { + "type": "string", + "description": "A MACHINE-READABLE code specifying error category. This information is used on client side to focus on certain type of error, to either retry some processing or display only certain type of errors." + }, + "code": { + "type": "string", + "description": "A MACHINE-READABLE error code string in kebab-case. Unique across Criteo" + }, + "instance": { + "type": "string", + "description": "A MACHINE-READABLE URI reference that identifies the specific occurrence of the problem. This could be useful when we want to the return the API Endpoint identifying the exact resource related to the error." + }, + "title": { + "type": "string", + "description": "A short, HUMAN-READABLE summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization." + }, + "detail": { + "type": "string", + "description": "A HUMAN-READABLE detailed explanation specific to this occurrence of the problem. This should not be more that 1 paragraph" + } + }, + "description": "Error descriptor." + }, + "ProductImporterWarning": { + "required": [ + "code", + "detail", + "instance", + "title", + "traceId", + "type" + ], + "type": "object", + "properties": { + "traceId": { + "type": "string", + "description": "The MACHINE-READABLE correlation ID provided by the gateway" + }, + "type": { + "type": "string", + "description": "A MACHINE-READABLE code specifying error category. This information is used on client side to focus on certain type of error, to either retry some processing or display only certain type of errors." + }, + "code": { + "type": "string", + "description": "A MACHINE-READABLE error code string in kebab-case. Unique across Criteo" + }, + "instance": { + "type": "string", + "description": "A MACHINE-READABLE URI reference that identifies the specific occurrence of the problem. This could be useful when we want to the return the API Endpoint identifying the exact resource related to the error." + }, + "title": { + "type": "string", + "description": "A short, HUMAN-READABLE summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization." + }, + "detail": { + "type": "string", + "description": "A HUMAN-READABLE detailed explanation specific to this occurrence of the problem. This should not be more that 1 paragraph" + } + }, + "description": "Warning descriptor." + }, + "ReportDetailErrors": { + "required": [ + "errors", + "productId" + ], + "type": "object", + "properties": { + "productId": { + "type": "string", + "description": "The product ID in lowercase" + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ReportDetailError" + } + } + }, + "description": "A list of errors on a batch operation." + }, + "ProductsCustomBatchRequestEntry": { + "required": [ + "merchantId", + "method" + ], + "type": "object", + "properties": { + "batchId": { + "type": "integer", + "description": "An entry ID, unique within the batch request.", + "format": "int64", "nullable": true }, - "type": { + "merchantId": { + "type": "integer", + "description": "The ID of the managing account. Criteo: the partnerId.", + "format": "int32" + }, + "method": { "enum": [ - "access-control", - "authentication", - "authorization", - "availability", - "deprecation", - "quota", - "validation" + "delete", + "insert" ], "type": "string", - "description": "(REQUIRED) The classification of the error" - }, - "code": { - "type": "string", - "description": "(REQUIRED) A machine-readable unique error code, expressed as a string value. The format used must be kebab-case." - }, - "instance": { - "type": "string", - "description": "(REQUIRED) A URI reference that identifies the specific occurrence of the problem" + "description": "The method of the batch entry." }, - "title": { + "productId": { "type": "string", - "description": "(RECOMMENDED) A short, human-readable summary of the problem type", + "description": "The Product ID to delete. Only defined if the method is delete.", "nullable": true }, - "detail": { + "itemGroupId": { "type": "string", - "description": "(REQUIRED) A human-readable explanation specific to this occurrence of the problem" - }, - "source": { - "type": "object", - "description": "(OPTIONAL) A machine-readable structure to reference to the exact location(s) causing the error(s)", + "description": "Deprecated (providing this information is no more needed, this field will be removed in next release). The itemGroupId of the product to delete. To be defined when the method is delete and the product is a variant.", "nullable": true }, - "stackTrace": { - "type": "array", - "items": { - "type": "string" - }, - "description": "(NEVER IN PRODUCTION) A human-readable stacktrace produced by the implementation technology", + "product": { + "$ref": "#/components/schemas/Product" + }, + "feedId": { + "type": "string", + "description": "Not used by Criteo.", "nullable": true } }, - "description": "Definition of the warning" + "description": "A product event for a batch request." }, - "RetailMediaContactlistAmendment": { + "ReportDetailError": { "required": [ - "attributes" + "isServerRelated", + "message", + "type" ], "type": "object", "properties": { "type": { - "type": "string", - "description": "User List", - "nullable": true, - "example": "AddRemoveContactlist" - }, - "attributes": { - "required": [ - "identifiers", - "operation" + "enum": [ + "UnknownError", + "InvalidBigImageUrl", + "InvalidProductId", + "InvalidProductUrl", + "InvalidSmallImageUrl", + "JsonParsingIssue", + "MissingID", + "MissingImages", + "MissingName", + "MissingURL", + "NonAsciiId", + "OverlargeBigImage", + "OverlargeID", + "OverlargeSmallImage", + "OverlargeURL", + "ConfigurationError" ], - "type": "object", - "properties": { - "operation": { - "enum": [ - "add", - "remove" - ], - "type": "string", - "description": "Whether to add or remove users" - }, - "identifierType": { - "enum": [ - "email", - "madid", - "identityLink", - "gum", - "customerid", - "phoneNumber" - ], - "type": "string", - "description": "What type of identifiers are used", - "nullable": true - }, - "identifiers": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The users to add or remove, each in the schema specified" - } - }, - "description": "Attributes of retail media contact list amendment" + "type": "string" + }, + "message": { + "type": "string" + }, + "isServerRelated": { + "type": "boolean" } }, - "description": "Request data of retail media contact list amendment" + "description": "An error on a batch operation." }, - "ApplicationSummaryModelResponse": { + "Product": { + "required": [ + "channel", + "id", + "imageLink", + "link", + "title" + ], "type": "object", "properties": { - "data": { - "$ref": "#/components/schemas/ApplicationSummaryModelResource" + "id": { + "type": "string", + "description": "A unique identifier for the item. Aka Product ID. Don’t use casing to make IDs unique." }, - "warnings": { - "uniqueItems": false, - "type": "array", - "items": { - "$ref": "#/components/schemas/CommonProblem" - }, - "nullable": true, - "readOnly": true + "offerId": { + "type": "string", + "description": "Not used by Criteo.", + "nullable": true }, - "errors": { - "uniqueItems": false, + "title": { + "type": "string", + "description": "Title of the item. (500 UTF8 characters max)." + }, + "description": { + "type": "string", + "description": "Description of the item. RECOMMENDED. (5000 UTF8 characters max).", + "nullable": true + }, + "link": { + "type": "string", + "description": "URL directly linking to your item's page on your website. (1000 UTF8 characters max)." + }, + "imageLink": { + "type": "string", + "description": "URL of an image of the item. Supported formats: PNG, JPEG, GIF. (2000 UTF8 characters max). " + }, + "additionalImageLinks": { "type": "array", "items": { - "$ref": "#/components/schemas/CommonProblem" + "type": "string" }, - "nullable": true, - "readOnly": true - } - }, - "description": "Response of ApplicationSummaryModel" - }, - "ApplicationSummaryModelResource": { - "type": "object", - "properties": { - "type": { - "type": "string", + "description": "Additional URLs of images of the item.", "nullable": true }, - "attributes": { - "$ref": "#/components/schemas/ApplicationSummaryModel" - } - }, - "description": "A class that represents a ValueType in a guild compliant way" - }, - "CommonProblem": { - "type": "object", - "properties": { - "traceId": { + "contentLanguage": { "type": "string", - "description": "The request correlation ID this problem comes from.", + "description": "The two-letter ISO 639-1 language code for the item.", "nullable": true }, - "traceIdentifier": { + "targetCountry": { "type": "string", - "description": "The request correlation ID this problem comes from. (deprecated, use traceId instead)", + "description": "The CLDR territory code for the item.", "nullable": true }, - "type": { + "channel": { "enum": [ - "unknown", - "access-control", - "authentication", - "authorization", - "availability", - "deprecation", - "quota", - "validation" + "online" ], "type": "string", - "description": "The problem's category.", - "nullable": true + "description": "The item's channel (online only)." }, - "code": { + "expirationDate": { "type": "string", - "description": "A machine-readable error code, expressed as a string value.", + "description": "Date on which the item should expire, as specified upon insertion, in ISO 8601 format.", "nullable": true }, - "instance": { + "adult": { + "type": "boolean", + "description": "Set to true if the item is targeted towards adults. RECOMMENDED.", + "nullable": true + }, + "kind": { "type": "string", - "description": "A URI that identifies the specific occurrence of the problem.", + "description": "Identifies what kind of resource this is.", "nullable": true }, - "title": { + "brand": { "type": "string", - "description": "A short human-readable description of the problem type", + "description": "Brand of the item. RECOMMENDED.", "nullable": true }, - "detail": { + "color": { "type": "string", - "description": "A human-readable explanation specific to this occurrence of the problem", + "description": "Color of the item.", "nullable": true }, - "source": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "A machine-readable structure to reference to the exact location(s) causing the error(s)", + "googleProductCategory": { + "type": "string", + "description": "Google's category of the item (see Google product taxonomy). RECOMMENDED.", "nullable": true }, - "stackTrace": { + "gtin": { "type": "string", + "description": "Global Trade Item Number (GTIN) of the item. RECOMMENDED.", "nullable": true - } - }, - "description": "Common problem object. Can be specialized as needed." - }, - "ApplicationSummaryModel": { - "type": "object", - "properties": { - "applicationId": { - "type": "integer", - "format": "int32", + }, + "itemGroupId": { + "type": "string", + "description": "Shared identifier for all variants of the same product. RECOMMENDED. Don’t use casing to make IDs unique. (50 characters max)", "nullable": true }, - "name": { + "material": { "type": "string", + "description": "The material of which the item is made.", "nullable": true }, - "organizationId": { - "type": "integer", - "format": "int32", + "mpn": { + "type": "string", + "description": "Manufacturer Part Number (MPN) of the item. RECOMMENDED.", "nullable": true }, - "description": { + "pattern": { "type": "string", + "description": "The item's pattern (e.g. polka dots).", "nullable": true }, - "criteoService": { + "price": { + "$ref": "#/components/schemas/Price" + }, + "salePrice": { + "$ref": "#/components/schemas/Price" + }, + "salePriceEffectiveDate": { "type": "string", + "description": "Date range during which the item is on sale.", "nullable": true - } - }, - "description": "Model of ApplicationSummary" - }, - "BatchAcceptedResponse": { - "required": [ - "operationToken" - ], - "type": "object", - "properties": { - "operationToken": { - "type": "string" - } - }, - "description": "A batch was accepted. The report can be accessed using the reporting endpoint." - }, - "FailResponse": { - "required": [ - "errors", - "warnings" - ], - "type": "object", - "properties": { - "errors": { + }, + "shipping": { "type": "array", "items": { - "$ref": "#/components/schemas/ProductImporterError" + "$ref": "#/components/schemas/ProductShipping" }, - "description": "List of errors" + "description": "Shipping rules.", + "nullable": true }, - "warnings": { + "shippingWeight": { + "$ref": "#/components/schemas/ProductShippingWeight" + }, + "sizes": { "type": "array", "items": { - "$ref": "#/components/schemas/ProductImporterWarning" + "type": "string" }, - "description": "List of warnings" - } - }, - "description": "Error server response." - }, - "ReportOkResponse": { - "required": [ - "errorDetails", - "importRequestTimestamp", - "numberOfProductsDeleted", - "numberOfProductsInTheBatch", - "numberOfProductsUpserted", - "numberOfProductsWithErrors", - "status" - ], - "type": "object", - "properties": { - "status": { - "enum": [ - "ACCEPTED", - "IN_PROGRESS", - "VALIDATED", - "VALIDATED_WITH_ERRORS", - "FAILED" - ], - "type": "string", - "description": "The status of the operation.\nThe operation is completed when the status is one of (VALIDATED,VALIDATED_WITH_ERRORS,FAILED)" - }, - "importRequestTimestamp": { - "type": "integer", - "description": "The date when the original batch request was sent.", - "format": "int64" - }, - "numberOfProductsInTheBatch": { - "type": "integer", - "description": "The number of products present in the batch.", - "format": "int32" - }, - "numberOfProductsUpserted": { - "type": "integer", - "description": "The number of products upserted.", - "format": "int32" - }, - "numberOfProductsDeleted": { - "type": "integer", - "description": "The number of products deleted.", - "format": "int32" - }, - "numberOfProductsWithErrors": { - "type": "integer", - "description": "The number of products with errors.", - "format": "int32" + "description": "Size of the item. RECOMMENDED. Only one value is allowed. For variants with different sizes, insert a separate product for each size with the same itemGroupId value.", + "nullable": true }, - "errorDetails": { + "taxes": { "type": "array", "items": { - "$ref": "#/components/schemas/ReportDetailErrors" + "$ref": "#/components/schemas/ProductTax" }, - "description": "The list of errors with details." - } - }, - "description": "The report on a given operationToken is ready. The report is available for 4 days" - }, - "ProductsCustomBatchRequest": { - "required": [ - "entries" - ], - "type": "object", - "properties": { - "entries": { + "description": "Tax information.", + "nullable": true + }, + "customAttributes": { "type": "array", "items": { - "$ref": "#/components/schemas/ProductsCustomBatchRequestEntry" + "$ref": "#/components/schemas/CustomAttribute" }, - "description": "The request entries to be processed in the batch." - } - }, - "description": "Defines a batch of operations." - }, - "ProductImporterError": { - "required": [ - "code", - "detail", - "instance", - "title", - "traceId", - "type" - ], - "type": "object", - "properties": { - "traceId": { + "description": "A list of custom (merchant-provided) attributes. This is useful for submitting attributes not explicitly exposed by the API. Declaring attributes explicitly exposed by the API using is forbidden", + "nullable": true + }, + "identifierExists": { + "type": "boolean", + "description": "False when the item does not have unique product identifiers appropriate to its category, such as GTIN, MPN, and brand. Required according to the Unique Product Identifier Rules for all target countries except for Canada.", + "nullable": true + }, + "installment": { + "$ref": "#/components/schemas/Installment" + }, + "loyaltyPoints": { + "$ref": "#/components/schemas/LoyaltyPoints" + }, + "multipack": { + "type": "integer", + "description": "The number of identical products in a merchant-defined multipack. To avoid any overflow issue, pass it as a string.", + "format": "int64", + "nullable": true + }, + "customLabel0": { "type": "string", - "description": "The MACHINE-READABLE correlation ID provided by the gateway" + "description": "Custom label 0 for custom grouping of items in a Shopping campaign.", + "nullable": true }, - "type": { + "customLabel1": { "type": "string", - "description": "A MACHINE-READABLE code specifying error category. This information is used on client side to focus on certain type of error, to either retry some processing or display only certain type of errors." + "description": "Custom label 1 for custom grouping of items in a Shopping campaign.", + "nullable": true }, - "code": { + "customLabel2": { "type": "string", - "description": "A MACHINE-READABLE error code string in kebab-case. Unique across Criteo" + "description": "Custom label 2 for custom grouping of items in a Shopping campaign.", + "nullable": true }, - "instance": { + "customLabel3": { "type": "string", - "description": "A MACHINE-READABLE URI reference that identifies the specific occurrence of the problem. This could be useful when we want to the return the API Endpoint identifying the exact resource related to the error." + "description": "Custom label 3 for custom grouping of items in a Shopping campaign.", + "nullable": true }, - "title": { + "customLabel4": { "type": "string", - "description": "A short, HUMAN-READABLE summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization." + "description": "Custom label 4 for custom grouping of items in a Shopping campaign.", + "nullable": true }, - "detail": { + "isBundle": { + "type": "boolean", + "description": "Whether the item is a merchant-defined bundle. A bundle is a custom grouping of different products sold by a merchant for a single price.", + "nullable": true + }, + "mobileLink": { "type": "string", - "description": "A HUMAN-READABLE detailed explanation specific to this occurrence of the problem. This should not be more that 1 paragraph" - } - }, - "description": "Error descriptor." - }, - "ProductImporterWarning": { - "required": [ - "code", - "detail", - "instance", - "title", - "traceId", - "type" - ], - "type": "object", - "properties": { - "traceId": { + "description": "accounts.link to a mobile-optimized version of the landing page.", + "nullable": true + }, + "availabilityDate": { "type": "string", - "description": "The MACHINE-READABLE correlation ID provided by the gateway" + "description": "The day a pre-ordered product becomes available for delivery, in ISO 8601 format.", + "nullable": true }, - "type": { + "shippingLabel": { "type": "string", - "description": "A MACHINE-READABLE code specifying error category. This information is used on client side to focus on certain type of error, to either retry some processing or display only certain type of errors." + "description": "The shipping label of the product, used to group product in account-level shipping rules.", + "nullable": true + }, + "unitPricingMeasure": { + "$ref": "#/components/schemas/ProductUnitPricingMeasure" + }, + "unitPricingBaseMeasure": { + "$ref": "#/components/schemas/ProductUnitPricingBaseMeasure" + }, + "shippingLength": { + "$ref": "#/components/schemas/ProductShippingDimension" + }, + "shippingWidth": { + "$ref": "#/components/schemas/ProductShippingDimension" + }, + "shippingHeight": { + "$ref": "#/components/schemas/ProductShippingDimension" + }, + "displayAdsId": { + "type": "string", + "description": "An identifier for an item for dynamic remarketing campaigns.", + "nullable": true + }, + "displayAdsSimilarIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Advertiser-specified recommendations.", + "nullable": true }, - "code": { + "displayAdsTitle": { "type": "string", - "description": "A MACHINE-READABLE error code string in kebab-case. Unique across Criteo" + "description": "Title of an item for dynamic remarketing campaigns.", + "nullable": true }, - "instance": { + "displayAdsLink": { "type": "string", - "description": "A MACHINE-READABLE URI reference that identifies the specific occurrence of the problem. This could be useful when we want to the return the API Endpoint identifying the exact resource related to the error." + "description": "URL directly to your item's landing page for dynamic remarketing campaigns.", + "nullable": true }, - "title": { - "type": "string", - "description": "A short, HUMAN-READABLE summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization." + "displayAdsValue": { + "type": "number", + "description": "Offer margin for dynamic remarketing campaigns.", + "format": "double", + "nullable": true }, - "detail": { - "type": "string", - "description": "A HUMAN-READABLE detailed explanation specific to this occurrence of the problem. This should not be more that 1 paragraph" - } - }, - "description": "Warning descriptor." - }, - "ReportDetailErrors": { - "required": [ - "errors", - "productId" - ], - "type": "object", - "properties": { - "productId": { - "type": "string", - "description": "The product ID in lowercase" + "sellOnGoogleQuantity": { + "type": "integer", + "description": "The quantity of the product that is available for selling on Google. Supported only for online products.", + "format": "int64", + "nullable": true }, - "errors": { + "promotionIds": { "type": "array", "items": { - "$ref": "#/components/schemas/ReportDetailError" - } - } - }, - "description": "A list of errors on a batch operation." - }, - "ProductsCustomBatchRequestEntry": { - "required": [ - "merchantId", - "method" - ], - "type": "object", - "properties": { - "batchId": { + "type": "string" + }, + "description": "The unique ID of a promotion.", + "nullable": true + }, + "maxHandlingTime": { "type": "integer", - "description": "An entry ID, unique within the batch request.", + "description": "Maximal product handling time (in business days).", "format": "int64", "nullable": true }, - "merchantId": { + "minHandlingTime": { "type": "integer", - "description": "The ID of the managing account. Criteo: the partnerId.", - "format": "int32" + "description": "Minimal product handling time (in business days).", + "format": "int64", + "nullable": true }, - "method": { - "enum": [ - "delete", - "insert" - ], - "type": "string", - "description": "The method of the batch entry." + "costOfGoodsSold": { + "$ref": "#/components/schemas/Price" }, - "productId": { + "source": { "type": "string", - "description": "The Product ID to delete. Only defined if the method is delete.", + "description": "The source of the offer, i.e., how the offer was created.", "nullable": true }, - "itemGroupId": { - "type": "string", - "description": "Deprecated (providing this information is no more needed, this field will be removed in next release). The itemGroupId of the product to delete. To be defined when the method is delete and the product is a variant.", + "includedDestinations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of destinations to include for this target (corresponds to checked check boxes in Merchant Center). Default destinations are always included unless provided in excludedDestinations.", "nullable": true }, - "product": { - "$ref": "#/components/schemas/Product" - }, - "feedId": { - "type": "string", - "description": "Not used by Criteo.", + "excludedDestinations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of destinations to exclude for this target (corresponds to unchecked check boxes in Merchant Center).", "nullable": true - } - }, - "description": "A product event for a batch request." - }, - "ReportDetailError": { - "required": [ - "isServerRelated", - "message", - "type" - ], - "type": "object", - "properties": { - "type": { - "enum": [ - "UnknownError", - "InvalidBigImageUrl", - "InvalidProductId", - "InvalidProductUrl", - "InvalidSmallImageUrl", - "JsonParsingIssue", - "MissingID", - "MissingImages", - "MissingName", - "MissingURL", - "NonAsciiId", - "OverlargeBigImage", - "OverlargeID", - "OverlargeSmallImage", - "OverlargeURL", - "ConfigurationError" - ], - "type": "string" - }, - "message": { - "type": "string" - }, - "isServerRelated": { - "type": "boolean" - } - }, - "description": "An error on a batch operation." - }, - "Product": { - "required": [ - "channel", - "id", - "imageLink", - "link", - "title" - ], - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "A unique identifier for the item. Aka Product ID. Don’t use casing to make IDs unique." }, - "offerId": { + "adsGrouping": { "type": "string", - "description": "Not used by Criteo.", + "description": "Used to group items in an arbitrary way. Only for CPA%, discouraged otherwise.", "nullable": true }, - "title": { - "type": "string", - "description": "Title of the item. (500 UTF8 characters max)." - }, - "description": { - "type": "string", - "description": "Description of the item. RECOMMENDED. (5000 UTF8 characters max).", + "adsLabels": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Similar to adsGrouping, but only works on CPC.", "nullable": true }, - "link": { - "type": "string", - "description": "URL directly linking to your item's page on your website. (1000 UTF8 characters max)." - }, - "imageLink": { + "adsRedirect": { "type": "string", - "description": "URL of an image of the item. Supported formats: PNG, JPEG, GIF. (2000 UTF8 characters max). " + "description": "Allows advertisers to override the item URL when the product is shown within the context of Product Ads.", + "nullable": true }, - "additionalImageLinks": { + "productTypes": { "type": "array", "items": { "type": "string" }, - "description": "Additional URLs of images of the item.", + "description": "Categories of the item (formatted as in products data specification).", "nullable": true }, - "contentLanguage": { - "type": "string", - "description": "The two-letter ISO 639-1 language code for the item.", + "productTypeKeys": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Category keys of the item (formatted as in productTypes).", "nullable": true }, - "targetCountry": { + "ageGroup": { "type": "string", - "description": "The CLDR territory code for the item.", + "description": "Target age group of the item.", "nullable": true }, - "channel": { - "enum": [ - "online" - ], + "availability": { "type": "string", - "description": "The item's channel (online only)." + "description": "Availability status of the item. RECOMMENDED.", + "nullable": true }, - "expirationDate": { + "condition": { "type": "string", - "description": "Date on which the item should expire, as specified upon insertion, in ISO 8601 format.", + "description": "Condition or state of the item.", "nullable": true }, - "adult": { - "type": "boolean", - "description": "Set to true if the item is targeted towards adults. RECOMMENDED.", + "gender": { + "type": "string", + "description": "Target gender of the item.", "nullable": true }, - "kind": { + "sizeSystem": { "type": "string", - "description": "Identifies what kind of resource this is.", + "description": "System in which the size is specified. Recommended for apparel items.", "nullable": true }, - "brand": { + "sizeType": { "type": "string", - "description": "Brand of the item. RECOMMENDED.", + "description": "The cut of the item. Recommended for apparel items.", "nullable": true }, - "color": { + "energyEfficiencyClass": { "type": "string", - "description": "Color of the item.", + "description": "The energy efficiency class as defined in EU directive 2010/30/EU.", "nullable": true }, - "googleProductCategory": { + "minEnergyEfficiencyClass": { "type": "string", - "description": "Google's category of the item (see Google product taxonomy). RECOMMENDED.", + "description": "The energy efficiency class as defined in EU directive 2010/30/EU.", "nullable": true }, - "gtin": { + "maxEnergyEfficiencyClass": { "type": "string", - "description": "Global Trade Item Number (GTIN) of the item. RECOMMENDED.", + "description": "The energy efficiency class as defined in EU directive 2010/30/EU.", "nullable": true }, - "itemGroupId": { + "taxCategory": { "type": "string", - "description": "Shared identifier for all variants of the same product. RECOMMENDED. Don’t use casing to make IDs unique. (50 characters max)", + "description": "The tax category of the product, used to configure detailed tax nexus in account-level tax settings.", "nullable": true }, - "material": { + "transitTimeLabel": { "type": "string", - "description": "The material of which the item is made.", + "description": "The transit time label of the product, used to group product in account-level transit time tables.", "nullable": true }, - "mpn": { + "sellerId": { "type": "string", - "description": "Manufacturer Part Number (MPN) of the item. RECOMMENDED.", + "description": "(Deprecated Field) The external ID of the seller (case sensitive and 50 UTF8 characters max). This information is required by the Criteo Offsite Ads.", "nullable": true }, - "pattern": { + "externalSellerId": { "type": "string", - "description": "The item's pattern (e.g. polka dots).", + "description": "The external id of the seller (case sensitive and 50 UTF8 characters max). This information is required by the Criteo Offsite Ads.", "nullable": true }, - "price": { - "$ref": "#/components/schemas/Price" - }, - "salePrice": { - "$ref": "#/components/schemas/Price" - }, - "salePriceEffectiveDate": { + "externalSellerName": { "type": "string", - "description": "Date range during which the item is on sale.", + "description": "The external name of the seller (case sensitive and 50 UTF8 characters max). This information is required by the Criteo Offsite Ads.", "nullable": true }, - "shipping": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ProductShipping" - }, - "description": "Shipping rules.", + "numberOfReviews": { + "type": "integer", + "description": "The number of customer reviews for the product", + "format": "int32", "nullable": true }, - "shippingWeight": { - "$ref": "#/components/schemas/ProductShippingWeight" - }, - "sizes": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Size of the item. RECOMMENDED. Only one value is allowed. For variants with different sizes, insert a separate product for each size with the same itemGroupId value.", + "productRating": { + "type": "string", + "description": "The product rating for the product", "nullable": true - }, - "taxes": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ProductTax" - }, - "description": "Tax information.", + } + }, + "description": "Defines a product to be inserted or updated." + }, + "Price": { + "type": "object", + "properties": { + "currency": { + "type": "string", + "description": "The currency of the price.", "nullable": true }, - "customAttributes": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CustomAttribute" - }, - "description": "A list of custom (merchant-provided) attributes. This is useful for submitting attributes not explicitly exposed by the API. Declaring attributes explicitly exposed by the API using is forbidden", + "value": { + "type": "string", + "description": "The price represented as a number. See JSON's number specification for more details.", "nullable": true - }, - "identifierExists": { - "type": "boolean", - "description": "False when the item does not have unique product identifiers appropriate to its category, such as GTIN, MPN, and brand. Required according to the Unique Product Identifier Rules for all target countries except for Canada.", + } + }, + "description": "Defines a price." + }, + "ProductShippingWeight": { + "type": "object", + "properties": { + "value": { + "type": "number", + "description": "The weight of the product used to calculate the shipping cost of the item.", + "format": "double", "nullable": true }, - "installment": { - "$ref": "#/components/schemas/Installment" - }, - "loyaltyPoints": { - "$ref": "#/components/schemas/LoyaltyPoints" - }, - "multipack": { + "unit": { + "type": "string", + "description": "The unit of value.", + "nullable": true + } + }, + "description": "Defines the shipping weight of a product." + }, + "Installment": { + "type": "object", + "properties": { + "months": { "type": "integer", - "description": "The number of identical products in a merchant-defined multipack. To avoid any overflow issue, pass it as a string.", + "description": "The number of installments the buyer has to pay.", "format": "int64", "nullable": true }, - "customLabel0": { + "amount": { + "$ref": "#/components/schemas/Price" + } + }, + "description": "Defines the installment of a product." + }, + "LoyaltyPoints": { + "type": "object", + "properties": { + "name": { "type": "string", - "description": "Custom label 0 for custom grouping of items in a Shopping campaign.", + "description": "Name of loyalty points program. It is recommended to limit the name to 12 full-width characters or 24 Roman characters.", "nullable": true }, - "customLabel1": { - "type": "string", - "description": "Custom label 1 for custom grouping of items in a Shopping campaign.", + "pointsValue": { + "type": "integer", + "description": "The retailer's loyalty points in absolute value.", + "format": "int64", "nullable": true }, - "customLabel2": { - "type": "string", - "description": "Custom label 2 for custom grouping of items in a Shopping campaign.", + "ratio": { + "type": "number", + "description": "The ratio of a point when converted to currency. Google assumes currency based on Merchant Center settings. If ratio is left out, it defaults to 1.0.", + "format": "double", + "nullable": true + } + }, + "description": "Defines how a client earns loyalty points after buying this product." + }, + "ProductUnitPricingMeasure": { + "type": "object", + "properties": { + "value": { + "type": "number", + "description": "The measurement of an item.", + "format": "double", "nullable": true }, - "customLabel3": { + "unit": { "type": "string", - "description": "Custom label 3 for custom grouping of items in a Shopping campaign.", + "description": "The unit of measure.", + "nullable": true + } + }, + "description": "Defines a measurement." + }, + "ProductUnitPricingBaseMeasure": { + "type": "object", + "properties": { + "value": { + "type": "integer", + "description": "The denominator of the unit price.", + "format": "int64", "nullable": true }, - "customLabel4": { + "unit": { "type": "string", - "description": "Custom label 4 for custom grouping of items in a Shopping campaign.", + "description": "The unit of the denominator.", "nullable": true - }, - "isBundle": { - "type": "boolean", - "description": "Whether the item is a merchant-defined bundle. A bundle is a custom grouping of different products sold by a merchant for a single price.", + } + }, + "description": "Defines a measurement." + }, + "ProductShippingDimension": { + "type": "object", + "properties": { + "value": { + "type": "number", + "description": "The dimension of the product used to calculate the shipping cost of the item.", + "format": "double", "nullable": true }, - "mobileLink": { + "unit": { "type": "string", - "description": "accounts.link to a mobile-optimized version of the landing page.", + "description": "The unit of value.", "nullable": true + } + }, + "description": "Defines the shipping dimension of a product." + }, + "ProductShipping": { + "type": "object", + "properties": { + "price": { + "$ref": "#/components/schemas/Price" }, - "availabilityDate": { + "country": { "type": "string", - "description": "The day a pre-ordered product becomes available for delivery, in ISO 8601 format.", + "description": "The CLDR territory code of the country to which an item will ship.", "nullable": true }, - "shippingLabel": { + "region": { "type": "string", - "description": "The shipping label of the product, used to group product in account-level shipping rules.", + "description": "The geographic region to which a shipping rate applies.", "nullable": true }, - "unitPricingMeasure": { - "$ref": "#/components/schemas/ProductUnitPricingMeasure" - }, - "unitPricingBaseMeasure": { - "$ref": "#/components/schemas/ProductUnitPricingBaseMeasure" - }, - "shippingLength": { - "$ref": "#/components/schemas/ProductShippingDimension" - }, - "shippingWidth": { - "$ref": "#/components/schemas/ProductShippingDimension" - }, - "shippingHeight": { - "$ref": "#/components/schemas/ProductShippingDimension" - }, - "displayAdsId": { + "service": { "type": "string", - "description": "An identifier for an item for dynamic remarketing campaigns.", + "description": "A free-form description of the service class or delivery speed.", "nullable": true }, - "displayAdsSimilarIds": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Advertiser-specified recommendations.", + "locationId": { + "type": "integer", + "description": "The numeric ID of a location that the shipping rate applies to as defined in the AdWords API.", + "format": "int64", "nullable": true }, - "displayAdsTitle": { + "locationGroupName": { "type": "string", - "description": "Title of an item for dynamic remarketing campaigns.", + "description": "The location where the shipping is applicable, represented by a location group name.", "nullable": true }, - "displayAdsLink": { + "postalCode": { "type": "string", - "description": "URL directly to your item's landing page for dynamic remarketing campaigns.", + "description": "The postal code range that the shipping rate applies to, represented by a postal code, a postal code prefix followed by a * wildcard, a range between two postal codes or two postal code prefixes of equal length.", "nullable": true - }, - "displayAdsValue": { + } + }, + "description": "Defines the shipping information of a product." + }, + "ProductTax": { + "type": "object", + "properties": { + "rate": { "type": "number", - "description": "Offer margin for dynamic remarketing campaigns.", + "description": "The percentage of tax rate that applies to the item price.", "format": "double", "nullable": true }, - "sellOnGoogleQuantity": { - "type": "integer", - "description": "The quantity of the product that is available for selling on Google. Supported only for online products.", - "format": "int64", + "country": { + "type": "string", + "description": "The country within which the item is taxed, specified as a CLDR territory code.", "nullable": true - }, - "promotionIds": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The unique ID of a promotion.", + }, + "region": { + "type": "string", + "description": "The geographic region to which the tax rate applies.", "nullable": true }, - "maxHandlingTime": { - "type": "integer", - "description": "Maximal product handling time (in business days).", - "format": "int64", + "taxShip": { + "type": "boolean", + "description": "Set to true if tax is charged on shipping.", "nullable": true }, - "minHandlingTime": { + "locationId": { "type": "integer", - "description": "Minimal product handling time (in business days).", + "description": "The numeric ID of a location that the tax rate applies to as defined in the AdWords API.", "format": "int64", "nullable": true }, - "costOfGoodsSold": { - "$ref": "#/components/schemas/Price" - }, - "source": { + "postalCode": { "type": "string", - "description": "The source of the offer, i.e., how the offer was created.", + "description": "The postal code range that the tax rate applies to, represented by a ZIP code, a ZIP code prefix using * wildcard, a range between two ZIP codes or two ZIP code prefixes of equal length. Examples: 94114, 94*, 94002-95460, 94*-95*.", "nullable": true + } + }, + "description": "Defines the tax information of a product." + }, + "CustomAttribute": { + "required": [ + "name", + "value" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the attribute. Underscores will be replaced by spaces upon insertion." }, - "includedDestinations": { + "value": { + "type": "string", + "description": "The value of the attribute." + } + }, + "description": "Defines a custom attribute of a product." + }, + "JsonApiPageResponseOfAccount": { + "required": [ + "metadata", + "data" + ], + "type": "object", + "properties": { + "errors": { "type": "array", "items": { - "type": "string" + "$ref": "#/components/schemas/CommonError" }, - "description": "The list of destinations to include for this target (corresponds to checked check boxes in Merchant Center). Default destinations are always included unless provided in excludedDestinations.", - "nullable": true + "x-nullable": false }, - "excludedDestinations": { + "warnings": { "type": "array", "items": { - "type": "string" + "$ref": "#/components/schemas/CommonWarning" }, - "description": "The list of destinations to exclude for this target (corresponds to unchecked check boxes in Merchant Center).", - "nullable": true + "x-nullable": false }, - "adsGrouping": { - "type": "string", - "description": "Used to group items in an arbitrary way. Only for CPA%, discouraged otherwise.", - "nullable": true + "metadata": { + "$ref": "#/components/schemas/PageMetadata" }, - "adsLabels": { + "data": { "type": "array", "items": { - "type": "string" + "$ref": "#/components/schemas/JsonApiBodyWithIdOfInt64AndAccountAndAccount" }, - "description": "Similar to adsGrouping, but only works on CPC.", - "nullable": true - }, - "adsRedirect": { - "type": "string", - "description": "Allows advertisers to override the item URL when the product is shown within the context of Product Ads.", - "nullable": true + "x-nullable": false + } + }, + "description": "A wrapper class to return a single page of with metadata" + }, + "JsonApiPageResponseOfBrand": { + "required": [ + "metadata", + "data" + ], + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonError" + }, + "x-nullable": false }, - "productTypes": { + "warnings": { "type": "array", "items": { - "type": "string" + "$ref": "#/components/schemas/CommonWarning" }, - "description": "Categories of the item (formatted as in products data specification).", - "nullable": true + "x-nullable": false }, - "productTypeKeys": { + "metadata": { + "$ref": "#/components/schemas/PageMetadata" + }, + "data": { "type": "array", "items": { - "type": "string" + "$ref": "#/components/schemas/JsonApiBodyWithIdOfInt64AndBrandAndBrand" }, - "description": "Category keys of the item (formatted as in productTypes).", - "nullable": true + "x-nullable": false + } + }, + "description": "A wrapper class to return a single page of with metadata" + }, + "JsonApiPageResponseOfRetailer": { + "required": [ + "metadata", + "data" + ], + "type": "object", + "properties": { + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonError" + }, + "x-nullable": false }, - "ageGroup": { - "type": "string", - "description": "Target age group of the item.", - "nullable": true + "warnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonWarning" + }, + "x-nullable": false }, - "availability": { - "type": "string", - "description": "Availability status of the item. RECOMMENDED.", - "nullable": true + "metadata": { + "$ref": "#/components/schemas/PageMetadata" }, - "condition": { - "type": "string", - "description": "Condition or state of the item.", - "nullable": true + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/JsonApiBodyWithIdOfInt64AndRetailerAndRetailer" + }, + "x-nullable": false + } + }, + "description": "A wrapper class to return a single page of with metadata" + }, + "PageMetadata": { + "required": [ + "currentPageSize", + "currentPageIndex" + ], + "type": "object", + "properties": { + "totalItemsAcrossAllPages": { + "type": "integer", + "format": "int64", + "nullable": true, + "x-nullable": true }, - "gender": { - "type": "string", - "description": "Target gender of the item.", - "nullable": true + "currentPageSize": { + "type": "integer", + "format": "int32", + "x-nullable": false }, - "sizeSystem": { - "type": "string", - "description": "System in which the size is specified. Recommended for apparel items.", - "nullable": true + "currentPageIndex": { + "type": "integer", + "format": "int32", + "x-nullable": false }, - "sizeType": { - "type": "string", - "description": "The cut of the item. Recommended for apparel items.", - "nullable": true + "totalPages": { + "type": "integer", + "format": "int64", + "nullable": true, + "x-nullable": true }, - "energyEfficiencyClass": { + "nextPage": { "type": "string", - "description": "The energy efficiency class as defined in EU directive 2010/30/EU.", - "nullable": true + "x-nullable": false }, - "minEnergyEfficiencyClass": { + "previousPage": { "type": "string", - "description": "The energy efficiency class as defined in EU directive 2010/30/EU.", - "nullable": true - }, - "maxEnergyEfficiencyClass": { + "x-nullable": false + } + }, + "description": "Metadata related to the current request" + }, + "CommonError": { + "type": "object", + "properties": { + "traceId": { "type": "string", - "description": "The energy efficiency class as defined in EU directive 2010/30/EU.", - "nullable": true + "description": "(REQUIRED) The Correlation ID provided by the Gateway. It is also a unique identifier for this particular occurrence of the problem.", + "x-nullable": false }, - "taxCategory": { + "type": { + "enum": [ + "unknown", + "access-control", + "authentication", + "authorization", + "availability", + "deprecation", + "quota", + "validation" + ], "type": "string", - "description": "The tax category of the product, used to configure detailed tax nexus in account-level tax settings.", - "nullable": true + "description": "(REQUIRED) The classification of the error.", + "x-nullable": false }, - "transitTimeLabel": { + "code": { "type": "string", - "description": "The transit time label of the product, used to group product in account-level transit time tables.", - "nullable": true + "description": "(REQUIRED) A machine-readable unique error code, expressed as a string value. The format used must be kabab-case.", + "x-nullable": false }, - "sellerId": { + "instance": { "type": "string", - "description": "(Deprecated Field) The external ID of the seller (case sensitive and 50 UTF8 characters max). This information is required by the Criteo Offsite Ads.", - "nullable": true + "description": "(REQUIRED) A URI reference that identifies the specific occurrence of the problem.", + "x-nullable": false }, - "externalSellerId": { + "title": { "type": "string", - "description": "The external id of the seller (case sensitive and 50 UTF8 characters max). This information is required by the Criteo Offsite Ads.", - "nullable": true + "description": "(RECOMMENDED) A short, human-readable summary of the problem type.", + "x-nullable": false }, - "externalSellerName": { + "detail": { "type": "string", - "description": "The external name of the seller (case sensitive and 50 UTF8 characters max). This information is required by the Criteo Offsite Ads.", - "nullable": true + "description": "(RECOMMENDED) A human-readable explanation specific to this occurrence of the problem.", + "x-nullable": false }, - "numberOfReviews": { - "type": "integer", - "description": "The number of customer reviews for the product", - "format": "int32", - "nullable": true + "source": { + "type": "object", + "additionalProperties": { + "type": "string", + "x-nullable": false + }, + "description": "(OPTIONAL) A machine-readable structure to reference to the exact location(s) causing the error(s)", + "x-nullable": false }, - "productRating": { + "stackTrace": { "type": "string", - "description": "The product rating for the product", - "nullable": true + "description": "(NEVER IN PRODUCTION) A human-readable stacktrace produced by the implementation technology", + "x-nullable": false } }, - "description": "Defines a product to be inserted or updated." + "description": "A JSON:API Common error structure" }, - "Price": { + "CommonWarning": { "type": "object", "properties": { - "currency": { + "traceId": { "type": "string", - "description": "The currency of the price.", - "nullable": true + "description": "(REQUIRED) The Correlation ID provided by the Gateway. It is also a unique identifier for this particular occurrence of the problem.", + "x-nullable": false }, - "value": { + "type": { + "enum": [ + "unknown", + "access-control", + "authentication", + "authorization", + "availability", + "deprecation", + "quota", + "validation" + ], "type": "string", - "description": "The price represented as a number. See JSON's number specification for more details.", - "nullable": true - } - }, - "description": "Defines a price." - }, - "ProductShippingWeight": { - "type": "object", - "properties": { - "value": { - "type": "number", - "description": "The weight of the product used to calculate the shipping cost of the item.", - "format": "double", - "nullable": true + "description": "(REQUIRED) The classification of the error.", + "x-nullable": false }, - "unit": { + "code": { "type": "string", - "description": "The unit of value.", - "nullable": true - } - }, - "description": "Defines the shipping weight of a product." - }, - "Installment": { - "type": "object", - "properties": { - "months": { - "type": "integer", - "description": "The number of installments the buyer has to pay.", - "format": "int64", - "nullable": true + "description": "(REQUIRED) A machine-readable unique error code, expressed as a string value. The format used must be kabab-case.", + "x-nullable": false }, - "amount": { - "$ref": "#/components/schemas/Price" - } - }, - "description": "Defines the installment of a product." - }, - "LoyaltyPoints": { - "type": "object", - "properties": { - "name": { + "instance": { "type": "string", - "description": "Name of loyalty points program. It is recommended to limit the name to 12 full-width characters or 24 Roman characters.", - "nullable": true + "description": "(REQUIRED) A URI reference that identifies the specific occurrence of the problem.", + "x-nullable": false }, - "pointsValue": { - "type": "integer", - "description": "The retailer's loyalty points in absolute value.", - "format": "int64", - "nullable": true + "title": { + "type": "string", + "description": "(RECOMMENDED) A short, human-readable summary of the problem type.", + "x-nullable": false }, - "ratio": { - "type": "number", - "description": "The ratio of a point when converted to currency. Google assumes currency based on Merchant Center settings. If ratio is left out, it defaults to 1.0.", - "format": "double", - "nullable": true - } - }, - "description": "Defines how a client earns loyalty points after buying this product." - }, - "ProductUnitPricingMeasure": { - "type": "object", - "properties": { - "value": { - "type": "number", - "description": "The measurement of an item.", - "format": "double", - "nullable": true + "detail": { + "type": "string", + "description": "(RECOMMENDED) A human-readable explanation specific to this occurrence of the problem.", + "x-nullable": false }, - "unit": { + "source": { + "type": "object", + "additionalProperties": { + "type": "string", + "x-nullable": false + }, + "description": "(OPTIONAL) A machine-readable structure to reference to the exact location(s) causing the error(s)", + "x-nullable": false + }, + "stackTrace": { "type": "string", - "description": "The unit of measure.", - "nullable": true + "description": "(NEVER IN PRODUCTION) A human-readable stacktrace produced by the implementation technology", + "x-nullable": false } }, - "description": "Defines a measurement." + "description": "A JSON:API Base common warning" }, - "ProductUnitPricingBaseMeasure": { + "JsonApiBodyWithIdOfInt64AndAccountAndAccount": { + "required": [ + "id", + "type" + ], "type": "object", "properties": { - "value": { - "type": "integer", - "description": "The denominator of the unit price.", - "format": "int64", - "nullable": true + "id": { + "type": "string", + "format": "long-id", + "x-nullable": false }, - "unit": { + "type": { "type": "string", - "description": "The unit of the denominator.", - "nullable": true + "x-nullable": false + }, + "attributes": { + "$ref": "#/components/schemas/ExternalAccount" } }, - "description": "Defines a measurement." + "description": "A JSON:API wrapper class to format a with external Id, Type, and\r\nAttributes properties" }, - "ProductShippingDimension": { + "JsonApiBodyWithIdOfInt64AndBrandAndBrand": { + "required": [ + "id", + "type" + ], "type": "object", "properties": { - "value": { - "type": "number", - "description": "The dimension of the product used to calculate the shipping cost of the item.", - "format": "double", - "nullable": true + "id": { + "type": "string", + "format": "long-id", + "x-nullable": false }, - "unit": { + "type": { "type": "string", - "description": "The unit of value.", - "nullable": true + "x-nullable": false + }, + "attributes": { + "$ref": "#/components/schemas/ExternalBrand" } }, - "description": "Defines the shipping dimension of a product." + "description": "A JSON:API wrapper class to format a with external Id, Type, and\r\nAttributes properties" }, - "ProductShipping": { + "JsonApiBodyWithIdOfInt64AndRetailerAndRetailer": { + "required": [ + "id", + "type" + ], "type": "object", "properties": { - "price": { - "$ref": "#/components/schemas/Price" - }, - "country": { - "type": "string", - "description": "The CLDR territory code of the country to which an item will ship.", - "nullable": true - }, - "region": { - "type": "string", - "description": "The geographic region to which a shipping rate applies.", - "nullable": true - }, - "service": { + "id": { "type": "string", - "description": "A free-form description of the service class or delivery speed.", - "nullable": true - }, - "locationId": { - "type": "integer", - "description": "The numeric ID of a location that the shipping rate applies to as defined in the AdWords API.", - "format": "int64", - "nullable": true + "format": "long-id", + "x-nullable": false }, - "locationGroupName": { + "type": { "type": "string", - "description": "The location where the shipping is applicable, represented by a location group name.", - "nullable": true + "x-nullable": false }, - "postalCode": { - "type": "string", - "description": "The postal code range that the shipping rate applies to, represented by a postal code, a postal code prefix followed by a * wildcard, a range between two postal codes or two postal code prefixes of equal length.", - "nullable": true + "attributes": { + "$ref": "#/components/schemas/ExternalRetailer" } }, - "description": "Defines the shipping information of a product." + "description": "A JSON:API wrapper class to format a with external Id, Type, and\r\nAttributes properties" }, - "ProductTax": { + "ExternalAccount": { + "required": [ + "name", + "type", + "countries", + "currency", + "parentAccountLabel", + "timeZone" + ], "type": "object", "properties": { - "rate": { - "type": "number", - "description": "The percentage of tax rate that applies to the item price.", - "format": "double", - "nullable": true + "name": { + "maxLength": 510, + "minLength": 0, + "type": "string", + "x-nullable": false + }, + "type": { + "enum": [ + "unknown", + "supply", + "demand" + ], + "type": "string", + "x-nullable": false }, - "country": { + "subtype": { + "enum": [ + "unknown", + "brand", + "seller" + ], "type": "string", - "description": "The country within which the item is taxed, specified as a CLDR territory code.", - "nullable": true + "nullable": true, + "x-nullable": true }, - "region": { + "countries": { + "type": "array", + "items": { + "type": "string" + }, + "x-nullable": false + }, + "currency": { "type": "string", - "description": "The geographic region to which the tax rate applies.", - "nullable": true + "x-nullable": false }, - "taxShip": { - "type": "boolean", - "description": "Set to true if tax is charged on shipping.", - "nullable": true + "parentAccountLabel": { + "maxLength": 510, + "minLength": 0, + "type": "string", + "x-nullable": false }, - "locationId": { - "type": "integer", - "description": "The numeric ID of a location that the tax rate applies to as defined in the AdWords API.", - "format": "int64", - "nullable": true + "timeZone": { + "type": "string", + "x-nullable": false }, - "postalCode": { + "companyName": { "type": "string", - "description": "The postal code range that the tax rate applies to, represented by a ZIP code, a ZIP code prefix using * wildcard, a range between two ZIP codes or two ZIP code prefixes of equal length. Examples: 94114, 94*, 94002-95460, 94*-95*.", - "nullable": true + "nullable": true, + "x-nullable": true } }, - "description": "Defines the tax information of a product." + "description": "A Retail Media Account used to launch campaigns and line items" }, - "CustomAttribute": { + "ExternalBrand": { "required": [ - "name", - "value" + "name" ], "type": "object", "properties": { "name": { + "maxLength": 120, + "minLength": 0, "type": "string", - "description": "The name of the attribute. Underscores will be replaced by spaces upon insertion." - }, - "value": { - "type": "string", - "description": "The value of the attribute." + "x-nullable": false } }, - "description": "Defines a custom attribute of a product." + "description": "A Retail Media Brand used to represent a collection of products sold under the same umbrella name" }, - "JsonApiPageResponseOfAccount": { + "ExternalRetailer": { "required": [ - "data" + "name" ], "type": "object", "properties": { - "errors": { + "name": { + "maxLength": 100, + "type": "string", + "x-nullable": false + }, + "campaignEligibilities": { "type": "array", "items": { - "$ref": "#/components/schemas/CommonError" + "enum": [ + "unknown", + "auction", + "preferred" + ], + "type": "string" }, "x-nullable": false + } + }, + "description": "A Retail Media Retailer used to represent a selection of products from multiple brands" + }, + "RmAudienceSegmentEntityV1ListResponse": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RmAudienceSegmentEntityV1Resource" + }, + "nullable": true }, "warnings": { "type": "array", "items": { - "$ref": "#/components/schemas/CommonWarning" + "$ref": "#/components/schemas/CommonProblem" }, - "x-nullable": false - }, - "metadata": { - "$ref": "#/components/schemas/PageMetadata" + "nullable": true, + "readOnly": true }, - "data": { + "errors": { "type": "array", "items": { - "$ref": "#/components/schemas/JsonApiBodyWithIdOfInt64AndAccountAndAccount" + "$ref": "#/components/schemas/CommonProblem" }, - "x-nullable": false + "nullable": true, + "readOnly": true } }, - "description": "A wrapper class to return a single page of with metadata", - "x-nullable": false + "description": "A top-level object that encapsulates a Criteo API response for several entities" }, - "JsonApiPageResponseOfBrand": { - "required": [ - "data" - ], + "RmAudienceSegmentIdEntityV1ListResponse": { "type": "object", "properties": { - "errors": { + "data": { "type": "array", "items": { - "$ref": "#/components/schemas/CommonError" + "$ref": "#/components/schemas/RmAudienceSegmentIdEntityV1Resource" }, - "x-nullable": false + "nullable": true }, "warnings": { "type": "array", "items": { - "$ref": "#/components/schemas/CommonWarning" + "$ref": "#/components/schemas/CommonProblem" }, - "x-nullable": false - }, - "metadata": { - "$ref": "#/components/schemas/PageMetadata" + "nullable": true, + "readOnly": true }, - "data": { + "errors": { "type": "array", "items": { - "$ref": "#/components/schemas/JsonApiBodyWithIdOfInt64AndBrandAndBrand" + "$ref": "#/components/schemas/CommonProblem" }, - "x-nullable": false + "nullable": true, + "readOnly": true } }, - "description": "A wrapper class to return a single page of with metadata", - "x-nullable": false + "description": "A top-level object that encapsulates a Criteo API response for several entities" }, - "JsonApiPageResponseOfRetailer": { - "required": [ - "data" - ], + "RmAudienceSegmentEntityV1RmAudienceSegmentSearchMetadataV1ListResponse": { "type": "object", "properties": { - "errors": { + "meta": { + "$ref": "#/components/schemas/RmAudienceSegmentSearchMetadataV1" + }, + "data": { "type": "array", "items": { - "$ref": "#/components/schemas/CommonError" + "$ref": "#/components/schemas/RmAudienceSegmentEntityV1Resource" }, - "x-nullable": false + "nullable": true }, "warnings": { "type": "array", "items": { - "$ref": "#/components/schemas/CommonWarning" + "$ref": "#/components/schemas/CommonProblem" }, - "x-nullable": false - }, - "metadata": { - "$ref": "#/components/schemas/PageMetadata" + "nullable": true, + "readOnly": true }, - "data": { + "errors": { "type": "array", "items": { - "$ref": "#/components/schemas/JsonApiBodyWithIdOfInt64AndRetailerAndRetailer" + "$ref": "#/components/schemas/CommonProblem" }, - "x-nullable": false + "nullable": true, + "readOnly": true } }, - "description": "A wrapper class to return a single page of with metadata", - "x-nullable": false + "description": "A top-level object that encapsulates a Criteo API response for several entities and metadata" }, - "PageMetadata": { - "required": [ - "currentPageSize", - "currentPageIndex" - ], + "RmContactListStatisticsEntityV1Response": { "type": "object", "properties": { - "totalItemsAcrossAllPages": { - "type": "integer", - "format": "int64", + "data": { + "$ref": "#/components/schemas/RmContactListStatisticsEntityV1Resource" + }, + "warnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, "nullable": true, - "x-nullable": true + "readOnly": true }, - "currentPageSize": { - "type": "integer", - "format": "int32", - "x-nullable": false + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true + } + }, + "description": "A top-level object that encapsulates a Criteo API response for a single entity" + }, + "RmLegacyAudienceGetEntityV1ListResponse": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RmLegacyAudienceGetEntityV1Resource" + }, + "nullable": true }, - "currentPageIndex": { - "type": "integer", - "format": "int32", - "x-nullable": false + "warnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true }, - "totalPages": { - "type": "integer", - "format": "int64", + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, "nullable": true, - "x-nullable": true + "readOnly": true + } + }, + "description": "A top-level object that encapsulates a Criteo API response for several entities and metadata" + }, + "RmLegacyAudienceGetEntityV2ListResponse": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RmLegacyAudienceGetEntityV2Resource" + }, + "nullable": true }, - "nextPage": { - "type": "string", - "x-nullable": false + "warnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true }, - "previousPage": { - "type": "string", - "x-nullable": false + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "nullable": true, + "readOnly": true + } + }, + "description": "A top-level object that encapsulates a Criteo API response for several entities" + }, + "RmAudienceSegmentBulkUpdateInputV1": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RmAudienceSegmentUpdateEntityV1Resource" + }, + "nullable": true } }, - "description": "Metadata related to the current request", - "x-nullable": false + "description": "Input to update one or more segments." }, - "CommonError": { + "RmAudienceSegmentBulkCreateInputV1": { "type": "object", "properties": { - "traceId": { - "type": "string", - "description": "(REQUIRED) The Correlation ID provided by the Gateway. It is also a unique identifier for this particular occurrence of the problem.", - "x-nullable": false - }, - "type": { - "enum": [ - "unknown", - "access-control", - "authentication", - "authorization", - "availability", - "deprecation", - "quota", - "validation" - ], - "type": "string", - "description": "(REQUIRED) The classification of the error.", - "x-nullable": false - }, - "code": { - "type": "string", - "description": "(REQUIRED) A machine-readable unique error code, expressed as a string value. The format used must be kabab-case.", - "x-nullable": false - }, - "instance": { - "type": "string", - "description": "(REQUIRED) A URI reference that identifies the specific occurrence of the problem.", - "x-nullable": false - }, - "title": { - "type": "string", - "description": "(RECOMMENDED) A short, human-readable summary of the problem type.", - "x-nullable": false - }, - "detail": { - "type": "string", - "description": "(RECOMMENDED) A human-readable explanation specific to this occurrence of the problem.", - "x-nullable": false - }, - "source": { - "type": "object", - "additionalProperties": { - "type": "string", - "x-nullable": false + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RmAudienceSegmentCreateEntityV1Resource" }, - "description": "(OPTIONAL) A machine-readable structure to reference to the exact location(s) causing the error(s)", - "x-nullable": false - }, - "stackTrace": { - "type": "string", - "description": "(NEVER IN PRODUCTION) A human-readable stacktrace produced by the implementation technology", - "x-nullable": false + "nullable": true } }, - "description": "A JSON:API Common error structure", - "x-nullable": false + "description": "Input to create one or more audience segments." }, - "CommonWarning": { + "RmAudienceSegmentBulkDeleteInputV1": { "type": "object", "properties": { - "traceId": { - "type": "string", - "description": "(REQUIRED) The Correlation ID provided by the Gateway. It is also a unique identifier for this particular occurrence of the problem.", - "x-nullable": false - }, - "type": { - "enum": [ - "unknown", - "access-control", - "authentication", - "authorization", - "availability", - "deprecation", - "quota", - "validation" - ], - "type": "string", - "description": "(REQUIRED) The classification of the error.", - "x-nullable": false - }, - "code": { - "type": "string", - "description": "(REQUIRED) A machine-readable unique error code, expressed as a string value. The format used must be kabab-case.", - "x-nullable": false - }, - "instance": { - "type": "string", - "description": "(REQUIRED) A URI reference that identifies the specific occurrence of the problem.", - "x-nullable": false - }, - "title": { - "type": "string", - "description": "(RECOMMENDED) A short, human-readable summary of the problem type.", - "x-nullable": false - }, - "detail": { - "type": "string", - "description": "(RECOMMENDED) A human-readable explanation specific to this occurrence of the problem.", - "x-nullable": false - }, - "source": { - "type": "object", - "additionalProperties": { - "type": "string", - "x-nullable": false + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RmAudienceSegmentDeleteEntityV1Resource" }, - "description": "(OPTIONAL) A machine-readable structure to reference to the exact location(s) causing the error(s)", - "x-nullable": false - }, - "stackTrace": { - "type": "string", - "description": "(NEVER IN PRODUCTION) A human-readable stacktrace produced by the implementation technology", - "x-nullable": false + "nullable": true } }, - "description": "A JSON:API Base common warning", - "x-nullable": false + "description": "Input to delete one or more segments." }, - "JsonApiBodyWithIdOfInt64AndAccountAndAccount": { - "required": [ - "id", - "type" - ], + "RmAudienceSegmentSearchInputV1": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/RmAudienceSegmentSearchEntityV1Resource" + } + }, + "description": "Audience segment search parameter" + }, + "RmAudienceSegmentEntityV1Resource": { "type": "object", "properties": { + "attributes": { + "$ref": "#/components/schemas/RmAudienceSegmentEntityV1" + }, "id": { "type": "string", - "format": "long-id", - "x-nullable": false + "description": "Id of the entity", + "nullable": true }, "type": { "type": "string", - "x-nullable": false - }, - "attributes": { - "$ref": "#/components/schemas/ExternalAccount" + "nullable": true } }, - "description": "A JSON:API wrapper class to format a with external Id, Type, and\r\nAttributes properties", - "x-nullable": false + "description": "A class that represents a domain entity exposed by an API" }, - "JsonApiBodyWithIdOfInt64AndBrandAndBrand": { - "required": [ - "id", - "type" - ], + "RmAudienceSegmentIdEntityV1Resource": { "type": "object", "properties": { + "attributes": { + "$ref": "#/components/schemas/RmAudienceSegmentIdEntityV1" + }, "id": { "type": "string", - "format": "long-id", - "x-nullable": false + "description": "Id of the entity", + "nullable": true }, "type": { "type": "string", - "x-nullable": false + "nullable": true + } + }, + "description": "A class that represents a domain entity exposed by an API" + }, + "RmAudienceSegmentSearchMetadataV1": { + "type": "object", + "properties": { + "totalItems": { + "type": "integer", + "description": "Total number of items", + "format": "int32", + "nullable": true }, - "attributes": { - "$ref": "#/components/schemas/ExternalBrand" + "limit": { + "type": "integer", + "description": "Max item of the current page", + "format": "int32", + "nullable": true + }, + "offset": { + "type": "integer", + "description": "Number of item to skip", + "format": "int32", + "nullable": true } }, - "description": "A JSON:API wrapper class to format a with external Id, Type, and\r\nAttributes properties", - "x-nullable": false + "description": "Metadata for the audience segment search response." }, - "JsonApiBodyWithIdOfInt64AndRetailerAndRetailer": { - "required": [ - "id", - "type" - ], + "RmContactListStatisticsEntityV1Resource": { "type": "object", "properties": { + "attributes": { + "$ref": "#/components/schemas/RmContactListStatisticsEntityV1" + }, "id": { "type": "string", - "format": "long-id", - "x-nullable": false + "description": "Id of the entity", + "nullable": true }, "type": { "type": "string", - "x-nullable": false - }, - "attributes": { - "$ref": "#/components/schemas/ExternalRetailer" + "nullable": true } }, - "description": "A JSON:API wrapper class to format a with external Id, Type, and\r\nAttributes properties", - "x-nullable": false + "description": "A class that represents a domain entity exposed by an API" }, - "ExternalAccount": { - "required": [ - "name", - "type", - "countries", - "currency", - "parentAccountLabel", - "timeZone" - ], + "RmLegacyAudienceGetEntityV1Resource": { "type": "object", "properties": { - "name": { - "maxLength": 510, - "minLength": 0, - "type": "string", - "x-nullable": false + "attributes": { + "$ref": "#/components/schemas/RmLegacyAudienceGetEntityV1" }, - "type": { - "enum": [ - "unknown", - "supply", - "demand" - ], + "id": { "type": "string", - "x-nullable": false + "nullable": true }, - "subtype": { + "audienceType": { "enum": [ - "unknown", - "brand", - "seller" + "customerList", + "userBehavior" ], "type": "string", - "nullable": true, - "x-nullable": true - }, - "countries": { - "type": "array", - "items": { - "type": "string", - "x-nullable": false - }, - "x-nullable": false - }, - "currency": { - "type": "string", - "x-nullable": false + "nullable": true }, - "parentAccountLabel": { - "maxLength": 510, - "minLength": 0, + "type": { "type": "string", - "x-nullable": false + "nullable": true + } + }, + "description": "A class that represents a domain entity exposed by an API" + }, + "RmLegacyAudienceGetEntityV2Resource": { + "type": "object", + "properties": { + "attributes": { + "$ref": "#/components/schemas/RmLegacyAudienceGetEntityV2" }, - "timeZone": { + "id": { "type": "string", - "x-nullable": false + "description": "Id of the entity", + "nullable": true }, - "companyName": { + "type": { "type": "string", "nullable": true } }, - "description": "A Retail Media Account used to launch campaigns and line items", - "x-nullable": false + "description": "A class that represents a domain entity exposed by an API" }, - "ExternalBrand": { - "required": [ - "name" - ], + "RmAudienceSegmentUpdateEntityV1Resource": { "type": "object", "properties": { - "name": { - "maxLength": 120, - "minLength": 0, + "attributes": { + "$ref": "#/components/schemas/RmAudienceSegmentUpdateEntityV1" + }, + "id": { "type": "string", - "x-nullable": false + "description": "Id of the entity", + "nullable": true + }, + "type": { + "type": "string", + "nullable": true } }, - "description": "A Retail Media Brand used to represent a collection of products sold under the same umbrella name", - "x-nullable": false + "description": "A class that represents a domain entity exposed by an API" }, - "ExternalRetailer": { - "required": [ - "name" - ], + "RmAudienceSegmentCreateEntityV1Resource": { "type": "object", "properties": { - "name": { - "maxLength": 100, + "type": { "type": "string", - "x-nullable": false + "nullable": true }, - "campaignEligibilities": { - "type": "array", - "items": { - "enum": [ - "unknown", - "auction", - "preferred" - ], - "type": "string", - "x-nullable": false - }, - "x-nullable": false + "attributes": { + "$ref": "#/components/schemas/RmAudienceSegmentCreateEntityV1" } }, - "description": "A Retail Media Retailer used to represent a selection of products from multiple brands", - "x-nullable": false + "description": "A top-level object that encapsulates a Criteo API response for a single value" }, - "RmLegacyAudienceGetEntityV1ListResponse": { + "RmAudienceSegmentDeleteEntityV1Resource": { "type": "object", "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/RmLegacyAudienceGetEntityV1Resource" - }, - "nullable": true + "attributes": { + "$ref": "#/components/schemas/RmAudienceSegmentDeleteEntityV1" }, - "warnings": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CommonProblem" - }, - "nullable": true, - "readOnly": true + "id": { + "type": "string", + "description": "Id of the entity", + "nullable": true }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CommonProblem" - }, - "nullable": true, - "readOnly": true + "type": { + "type": "string", + "nullable": true } }, - "description": "A top-level object that encapsulates a Criteo API response for several entities and metadata" + "description": "A class that represents a domain entity exposed by an API" }, - "RmLegacyAudienceGetEntityV2ListResponse": { + "RmAudienceSegmentSearchEntityV1Resource": { "type": "object", "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/RmLegacyAudienceGetEntityV2Resource" - }, + "type": { + "type": "string", "nullable": true }, - "warnings": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CommonProblem" - }, - "nullable": true, - "readOnly": true - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CommonProblem" - }, - "nullable": true, - "readOnly": true + "attributes": { + "$ref": "#/components/schemas/RmAudienceSegmentSearchEntityV1" } }, - "description": "A top-level object that encapsulates a Criteo API response for several entities" + "description": "A top-level object that encapsulates a Criteo API response for a single value" }, - "RmLegacyAudienceGetEntityV1Resource": { + "RmAudienceSegmentEntityV1": { "type": "object", "properties": { - "attributes": { - "$ref": "#/components/schemas/RmLegacyAudienceGetEntityV1" + "accountId": { + "type": "string", + "description": "Account associated to the segment", + "nullable": true }, - "id": { + "name": { "type": "string", + "description": "Name of the segment", "nullable": true }, - "audienceType": { + "description": { + "type": "string", + "description": "Description of the segment", + "nullable": true + }, + "retailerId": { + "type": "string", + "description": "Retailer associated to the segment", + "nullable": true + }, + "type": { "enum": [ - "customerList", - "userBehavior" + "Unknown", + "ContactList" ], "type": "string", + "description": "Type of segment (read-only)", "nullable": true }, - "type": { + "createdAt": { "type": "string", + "description": "ISO-8601 timestamp in UTC of segment creation (read-only)", + "format": "date-time", + "nullable": true + }, + "updatedAt": { + "type": "string", + "description": "ISO-8601 timestamp in UTC of segment update (read-only)", + "format": "date-time", + "nullable": true + }, + "contactList": { + "$ref": "#/components/schemas/RmContactListV1" + }, + "channels": { + "type": "array", + "items": { + "enum": [ + "Unknown", + "Onsite", + "Offsite" + ], + "type": "string" + }, + "description": "Channels associated to the segment (read-only)", "nullable": true } }, - "description": "A class that represents a domain entity exposed by an API" + "description": "Set of rules that defines specific people to target.", + "x-criteo-canonical": { + "infoType": "entity", + "name": "RetailMediaAudienceSegment", + "version": "v1" + } }, - "RmLegacyAudienceGetEntityV2Resource": { + "RmAudienceSegmentIdEntityV1": { + "type": "object", + "description": "Audience Segment entity only with its ID", + "x-criteo-canonical": { + "infoType": "entity", + "name": "RetailMediaAudienceSegment", + "version": "v1" + } + }, + "RmContactListStatisticsEntityV1": { "type": "object", "properties": { - "attributes": { - "$ref": "#/components/schemas/RmLegacyAudienceGetEntityV2" + "numberOfIdentifiers": { + "type": "integer", + "description": "Number of identifiers in the contact list.", + "format": "int32", + "nullable": true }, - "id": { - "type": "string", - "description": "Id of the entity", + "numberOfMatches": { + "type": "integer", + "description": "Number of matched identifiers in the contact list.", + "format": "int32", "nullable": true }, - "type": { - "type": "string", + "matchRate": { + "type": "number", + "description": "Percentage of matched identifiers in the contact list.\r\nCan differ from matches/identifiers depending on the contact list type.", + "format": "double", "nullable": true } }, - "description": "A class that represents a domain entity exposed by an API" + "description": "Contact list statistics.", + "x-criteo-canonical": { + "infoType": "entity", + "name": "ContactListStatistics", + "version": "v1" + } }, "RmLegacyAudienceGetEntityV1": { "required": [ @@ -6070,45 +7233,145 @@ "userBehaviorDetails": { "$ref": "#/components/schemas/RmLegacySegmentUserBehaviorV1" }, - "customerListDetails": { - "$ref": "#/components/schemas/RmLegacySegmentCustomerList" + "customerListDetails": { + "$ref": "#/components/schemas/RmLegacySegmentCustomerList" + } + }, + "description": "Audience definition of people of interest for a marketer.", + "x-criteo-canonical": { + "infoType": "entity", + "name": "RetailMediaAudienceSummary", + "version": "v1" + } + }, + "RmLegacyAudienceGetEntityV2": { + "required": [ + "name", + "retailerId" + ], + "type": "object", + "properties": { + "retailerId": { + "type": "string", + "description": "ID of the retailer associated with this audience" + }, + "userBehaviorDetails": { + "$ref": "#/components/schemas/RmLegacyAudienceUserBehaviorDetailsV2" + }, + "customerListDetails": { + "$ref": "#/components/schemas/RmLegacySegmentCustomerList" + }, + "name": { + "type": "string", + "description": "Name of the audience" + } + }, + "description": "Audience definition of people of interest for a marketer", + "x-criteo-canonical": { + "infoType": "entity", + "name": "RetailMediaAudience", + "version": "v1" + } + }, + "RmAudienceSegmentUpdateEntityV1": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the segment", + "nullable": true + }, + "description": { + "$ref": "#/components/schemas/NillableString" + }, + "contactList": { + "$ref": "#/components/schemas/RmContactListUpdateV1" + } + }, + "description": "Set of rules that defines specific people to target.", + "x-criteo-canonical": { + "infoType": "entity", + "name": "RetailMediaAudienceSegment", + "version": "v1" + } + }, + "RmAudienceSegmentCreateEntityV1": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the segment", + "nullable": true + }, + "description": { + "type": "string", + "description": "Description of the segment", + "nullable": true + }, + "retailerId": { + "type": "string", + "description": "Retailer associated to the segment", + "nullable": true + }, + "contactList": { + "$ref": "#/components/schemas/RmContactListCreateV1" } }, - "description": "Audience definition of people of interest for a marketer.", + "description": "Set of rules that defines specific people to target." + }, + "RmAudienceSegmentDeleteEntityV1": { + "type": "object", + "description": "Segment to delete", "x-criteo-canonical": { "infoType": "entity", - "name": "RetailMediaAudienceSummary", + "name": "RetailMediaAudienceSegment", "version": "v1" } }, - "RmLegacyAudienceGetEntityV2": { - "required": [ - "name", - "retailerId" - ], + "RmAudienceSegmentSearchEntityV1": { "type": "object", "properties": { - "retailerId": { - "type": "string", - "description": "ID of the retailer associated with this audience" - }, - "userBehaviorDetails": { - "$ref": "#/components/schemas/RmLegacyAudienceUserBehaviorDetailsV2" + "audienceSegmentIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of segment ids", + "nullable": true }, - "customerListDetails": { - "$ref": "#/components/schemas/RmLegacySegmentCustomerList" + "retailerIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of retailer ids", + "nullable": true + } + }, + "description": "Available filters to perform a search on audience segments. If present, the filters are AND'ed together when applied." + }, + "RmContactListV1": { + "type": "object", + "properties": { + "isReadOnly": { + "type": "boolean", + "description": "Is the segment read-only", + "nullable": true }, - "name": { + "type": { + "enum": [ + "Unknown", + "Email", + "UserIdentifier", + "IdentityLink", + "CustomerId" + ], "type": "string", - "description": "Name of the audience" + "description": "Indicates contact list type", + "nullable": true } }, - "description": "Audience definition of people of interest for a marketer", - "x-criteo-canonical": { - "infoType": "entity", - "name": "RetailMediaAudience", - "version": "v1" - } + "description": "Settings to target users with your contact lists." }, "RmLegacySegmentUserBehaviorV1": { "required": [ @@ -6195,6 +7458,38 @@ }, "description": "User Behavior Details." }, + "NillableString": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "The string's value. If missing or null the string's value is set to \"null\"", + "nullable": true + } + }, + "description": "Placeholder object for string value for which \"null\" is a valid business value" + }, + "RmContactListUpdateV1": { + "type": "object", + "description": "Settings to update the contact list of the segment" + }, + "RmContactListCreateV1": { + "type": "object", + "properties": { + "identifierType": { + "enum": [ + "Email", + "UserIdentifier", + "IdentityLink", + "CustomerId" + ], + "type": "string", + "description": "Indicates contact list type", + "nullable": true + } + }, + "description": "Settings to target users with your contact lists." + }, "RmLegacySegmentUserBehaviorV2": { "required": [ "lookbackWindow", @@ -6912,6 +8207,33 @@ "description": "A top-level object that encapsulates a Criteo API response for several entities", "x-nullable": true }, + "JsonApiSingleResponseOfCatalogStatus": { + "required": [ + "data" + ], + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/JsonApiBodyWithIdOfInt64AndCatalogStatusAndCatalogStatus" + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonError" + }, + "x-nullable": false + }, + "warnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonWarning" + }, + "x-nullable": false + } + }, + "description": "A JSON:API wrapper class to add one JSON:API within a data property", + "x-nullable": false + }, "SkuDataPreviewListResponse": { "type": "object", "properties": { @@ -7194,6 +8516,16 @@ "description": "Update model of a creative", "x-nullable": false }, + "JsonApiRequestOfSellerCatalogRequest": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/JsonApiBodyWithoutIdOfSellerCatalogRequestAndSellerCatalogRequest" + } + }, + "description": "A JSON:API wrapper class to format a with Type, and Attributes properties", + "x-nullable": true + }, "SkuSearchRequestPreviewRequest": { "type": "object", "properties": { @@ -7244,6 +8576,29 @@ "description": "A class that represents a domain entity exposed by an API", "x-nullable": true }, + "JsonApiBodyWithIdOfInt64AndCatalogStatusAndCatalogStatus": { + "required": [ + "id", + "type" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "long-id", + "x-nullable": false + }, + "type": { + "type": "string", + "x-nullable": false + }, + "attributes": { + "$ref": "#/components/schemas/ExternalCatalogStatus" + } + }, + "description": "A JSON:API wrapper class to format a with external Id, Type, and\r\nAttributes properties", + "x-nullable": false + }, "ResourceOfSkuDataPreview": { "type": "object", "properties": { @@ -7482,6 +8837,22 @@ "description": "A value for a variable in a creative template.", "x-nullable": false }, + "JsonApiBodyWithoutIdOfSellerCatalogRequestAndSellerCatalogRequest": { + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "attributes": { + "$ref": "#/components/schemas/SellerCatalogRequest" + } + }, + "description": "A JSON:API wrapper class to format a with Type, and\r\nAttributes properties", + "x-nullable": false + }, "ResourceOfSkuSearchRequestPreview": { "type": "object", "properties": { @@ -7643,10 +9014,75 @@ "description": "A creative entity", "x-nullable": false }, + "ExternalCatalogStatus": { + "required": [ + "status", + "currency", + "rowCount", + "fileSizeBytes", + "md5Checksum", + "createdAt", + "message" + ], + "type": "object", + "properties": { + "status": { + "enum": [ + "unknown", + "pending", + "success", + "failure", + "expired" + ], + "type": "string", + "description": "An enumeration of the status of the catalog.", + "x-nullable": false + }, + "currency": { + "type": "string", + "description": "An ISO4217 representation of the currency products are listed under in this catalog.", + "x-nullable": false + }, + "rowCount": { + "type": "integer", + "description": "An indication of the number of products contained in this catalog. Available when\r\nthis catalog reaches a success status.", + "format": "int32", + "nullable": true, + "x-nullable": true + }, + "fileSizeBytes": { + "type": "integer", + "description": "The size of this catalog in bytes. Available when this catalog reaches a success status.", + "format": "int32", + "nullable": true, + "x-nullable": true + }, + "md5Checksum": { + "type": "string", + "description": "An MD5 checksum of the catalog for use in confirming complete and uncorrupted retrieval.\r\nAvailable when this catalog reaches a success status.", + "nullable": true, + "x-nullable": true + }, + "createdAt": { + "type": "string", + "description": "The time this catalog was created. Represented as a UTC ISO8601 string.", + "format": "date-time", + "x-nullable": false + }, + "message": { + "type": "string", + "description": "An optional information message intended for developer consumption.", + "nullable": true, + "x-nullable": true + } + }, + "description": "The status of an asynchronous request to generate a catalog", + "x-nullable": false + }, "SkuDataPreview": { "required": [ "skuKey", - "id", + "categoryId", "brandId", "brandName", "retailerId", @@ -7783,7 +9219,7 @@ }, "SkuSlimDataPreview": { "required": [ - "id", + "categoryId", "globalBrandId", "globalBrandName", "price", @@ -7879,7 +9315,6 @@ }, "SkuSlimDataV2": { "required": [ - "id", "price", "isInStock", "updatedAt" @@ -8160,6 +9595,21 @@ "description": "A value of a template video variable", "x-nullable": false }, + "SellerCatalogRequest": { + "type": "object", + "properties": { + "sellers": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SellerIdentifier" + }, + "description": "A list of sellers to restict the catalog to.", + "nullable": true + } + }, + "description": "Used to requst a catalog of seller SKUs", + "x-nullable": true + }, "SkuSearchRequestPreview": { "required": [ "queryString", @@ -8383,6 +9833,25 @@ "description": "List of retailer's categories, including the full hierarchy of categories and their parent category ID", "x-nullable": false }, + "SellerIdentifier": { + "required": [ + "retailerId", + "sellerId" + ], + "type": "object", + "properties": { + "retailerId": { + "type": "string", + "description": "The retailer Id that the seller operates under" + }, + "sellerId": { + "type": "string", + "description": "The id for the seller based on the corresponding retailer" + } + }, + "description": "Identifies a Unique Seller", + "x-nullable": false + }, "AsyncReportResponse": { "type": "object", "properties": { @@ -8887,6 +10356,8 @@ "salesChannel", "environment", "pageTypeName", + "pageCategory", + "taxonomyBreadcrumb", "keyword", "searchTerm" ], @@ -9065,6 +10536,8 @@ "salesChannel", "environment", "pageTypeName", + "pageCategory", + "taxonomyBreadcrumb", "keyword", "searchTerm" ], @@ -9243,6 +10716,8 @@ "salesChannel", "environment", "pageTypeName", + "pageCategory", + "taxonomyBreadcrumb", "keyword", "searchTerm" ], @@ -9550,6 +11025,8 @@ "salesChannel", "environment", "pageTypeName", + "pageCategory", + "taxonomyBreadcrumb", "keyword", "searchTerm" ], @@ -9723,6 +11200,8 @@ "salesChannel", "environment", "pageTypeName", + "pageCategory", + "taxonomyBreadcrumb", "keyword", "searchTerm" ], @@ -9766,92 +11245,42 @@ }, "startDate": { "type": "string", - "description": "Start date", - "format": "date-time" - }, - "endDate": { - "type": "string", - "description": "End date", - "format": "date-time" - }, - "timezone": { - "type": "string", - "description": "Time zone : see criteo developer portal for supported time zones", - "default": "UTC", - "nullable": true - } - }, - "description": "Line Items report body request" - }, - "ValueResourceOfRetailMediaBrands": { - "type": "object", - "properties": { - "type": { - "type": "string", - "nullable": true - }, - "attributes": { - "$ref": "#/components/schemas/RetailMediaBrands" - } - }, - "additionalProperties": false, - "description": "A top-level object that encapsulates a Criteo API response for a single value." - }, - "ResourceOutcomeOfRetailMediaAccount": { - "type": "object", - "properties": { - "data": { - "$ref": "#/components/schemas/ResourceOfRetailMediaAccount" - }, - "warnings": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CommonProblem" - }, - "nullable": true, - "readOnly": true + "description": "Start date", + "format": "date-time" }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CommonProblem" - }, - "nullable": true, - "readOnly": true + "endDate": { + "type": "string", + "description": "End date", + "format": "date-time" + }, + "timezone": { + "type": "string", + "description": "Time zone : see criteo developer portal for supported time zones", + "default": "UTC", + "nullable": true } }, - "additionalProperties": false, - "description": "A top-level object that encapsulates a Criteo API response for a single entity." + "description": "Line Items report body request" }, - "ValueResourceCollectionOutcomeOfRetailMediaSeller": { + "PageOfBalanceHistoryChangeDataCaptureV1": { + "required": [ + "data", + "meta" + ], "type": "object", "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ValueResourceOfRetailMediaSeller" - }, - "nullable": true - }, - "warnings": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CommonProblem" - }, - "nullable": true, - "readOnly": true + "meta": { + "$ref": "#/components/schemas/Metadata" }, - "errors": { + "data": { "type": "array", "items": { - "$ref": "#/components/schemas/CommonProblem" - }, - "nullable": true, - "readOnly": true + "$ref": "#/components/schemas/BalanceHistoryChangeDataCaptureV1" + } } }, "additionalProperties": false, - "description": "A top-level object that encapsulates a Criteo API response for several values." + "description": "A wrapper class to return a single page of items with metadata." }, "ValueResourceOutcomeOfCampaignBudgetOverrides": { "type": "object", @@ -9909,7 +11338,7 @@ "additionalProperties": false, "description": "A top-level object that encapsulates a Criteo API response for several entities." }, - "PageOfInsertionOrderHistoryChangeDataCapture": { + "PageOfInsertionOrderHistoryChangeDataCaptureV2": { "required": [ "data", "meta" @@ -9922,7 +11351,7 @@ "data": { "type": "array", "items": { - "$ref": "#/components/schemas/InsertionOrderHistoryChangeDataCapture" + "$ref": "#/components/schemas/InsertionOrderHistoryChangeDataCaptureV2" } } }, @@ -9981,50 +11410,6 @@ "additionalProperties": false, "description": "A top-level object that encapsulates a Criteo API response for a single value." }, - "ValueResourceInputOfRetailMediaBrands": { - "type": "object", - "properties": { - "data": { - "$ref": "#/components/schemas/ValueResourceOfRetailMediaBrands" - } - }, - "additionalProperties": false, - "description": "A top-level object that encapsulates a Criteo API request for a single value." - }, - "ValueResourceInputOfRetailMediaBrandAccountCreation": { - "type": "object", - "properties": { - "data": { - "$ref": "#/components/schemas/ValueResourceOfRetailMediaBrandAccountCreation" - } - }, - "additionalProperties": false, - "description": "A top-level object that encapsulates a Criteo API request for a single value." - }, - "ValueResourceInputOfRetailMediaSellerAccountCreation": { - "type": "object", - "properties": { - "data": { - "$ref": "#/components/schemas/ValueResourceOfRetailMediaSellerAccountCreation" - } - }, - "additionalProperties": false, - "description": "A top-level object that encapsulates a Criteo API request for a single value." - }, - "ValueResourceCollectionInputOfRetailMediaSeller": { - "type": "object", - "properties": { - "data": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ValueResourceOfRetailMediaSeller" - }, - "nullable": true - } - }, - "additionalProperties": false, - "description": "A top-level object that encapsulates a Criteo API request for several values." - }, "ValueResourceInputOfCampaignBudgetOverrides": { "type": "object", "properties": { @@ -10058,53 +11443,78 @@ "additionalProperties": false, "description": "A top-level object that encapsulates a Criteo API request for a single value." }, - "RetailMediaBrands": { + "Metadata": { + "required": [ + "limit", + "offset" + ], "type": "object", "properties": { - "brandIds": { - "type": "array", - "items": { - "type": "integer", - "format": "int64" - }, + "count": { + "type": "integer", + "format": "int64", "nullable": true + }, + "offset": { + "type": "integer", + "description": "The (zero-based) starting offset in the collection.", + "format": "int32" + }, + "limit": { + "type": "integer", + "description": "The number of elements to be returned.", + "format": "int32" } }, "additionalProperties": false, - "description": "A collection of brand ids" + "description": "Metadata related to the current request." }, - "ResourceOfRetailMediaAccount": { + "BalanceHistoryChangeDataCaptureV1": { + "required": [ + "changeDetails", + "changeType", + "dateOfModification", + "modifiedByUser" + ], "type": "object", "properties": { - "attributes": { - "$ref": "#/components/schemas/RetailMediaAccount" + "dateOfModification": { + "type": "string", + "description": "Date when data change has occured.", + "format": "date-time" }, - "id": { + "modifiedByUser": { "type": "string", - "description": "Unique identifier of this resource.", - "nullable": true + "description": "Username who modified the insertion order." }, - "type": { + "changeType": { + "enum": [ + "BalanceCreated", + "BalanceAdded", + "BalanceRemoved", + "BalanceUncapped", + "BalanceCapped", + "EndDate", + "StartDate", + "BalanceName", + "PoNumber", + "ValueAdd", + "Unknown" + ], "type": "string", - "nullable": true - } - }, - "additionalProperties": false, - "description": "A class that represents a domain entity exposed by an API." - }, - "ValueResourceOfRetailMediaSeller": { - "type": "object", - "properties": { - "type": { + "description": "Represent the type of change states of the history." + }, + "changeDetails": { + "$ref": "#/components/schemas/ChangeDetailsV1" + }, + "memo": { "type": "string", + "description": "Memo associate with the insertion order modification.", "nullable": true - }, - "attributes": { - "$ref": "#/components/schemas/RetailMediaSeller" } }, "additionalProperties": false, - "description": "A top-level object that encapsulates a Criteo API response for a single value." + "description": "Data model represents the data change capture of balance history." }, "ValueResourceOfCampaignBudgetOverrides": { "type": "object", @@ -10139,33 +11549,7 @@ "additionalProperties": false, "description": "A class that represents a domain entity exposed by an API." }, - "Metadata": { - "required": [ - "limit", - "offset" - ], - "type": "object", - "properties": { - "count": { - "type": "integer", - "format": "int64", - "nullable": true - }, - "offset": { - "type": "integer", - "description": "The (zero-based) starting offset in the collection.", - "format": "int32" - }, - "limit": { - "type": "integer", - "description": "The number of elements to be returned.", - "format": "int32" - } - }, - "additionalProperties": false, - "description": "Metadata related to the current request." - }, - "InsertionOrderHistoryChangeDataCapture": { + "InsertionOrderHistoryChangeDataCaptureV2": { "required": [ "changeDetails", "changeType", @@ -10181,7 +11565,7 @@ }, "modifiedByUser": { "type": "string", - "description": "User name who modified the insertion order." + "description": "Username who modified the insertion order." }, "changeType": { "enum": [ @@ -10195,13 +11579,13 @@ "BalanceName", "PoNumber", "ValueAdd", - "SalesforceId" + "Unknown" ], "type": "string", "description": "Represent the type of change states of the history." }, "changeDetails": { - "$ref": "#/components/schemas/ChangeDetails" + "$ref": "#/components/schemas/ChangeDetailsV2" }, "memo": { "type": "string", @@ -10238,143 +11622,64 @@ } }, "additionalProperties": false, - "description": "A top-level object that encapsulates a Criteo API response for a single value." - }, - "ValueResourceOfRetailMediaBrandAccountCreation": { - "type": "object", - "properties": { - "type": { - "type": "string", - "nullable": true - }, - "attributes": { - "$ref": "#/components/schemas/RetailMediaBrandAccountCreation" - } - }, - "additionalProperties": false, - "description": "A top-level object that encapsulates a Criteo API response for a single value." - }, - "ValueResourceOfRetailMediaSellerAccountCreation": { - "type": "object", - "properties": { - "type": { - "type": "string", - "nullable": true - }, - "attributes": { - "$ref": "#/components/schemas/RetailMediaSellerAccountCreation" - } - }, - "additionalProperties": false, - "description": "A top-level object that encapsulates a Criteo API response for a single value." - }, - "SkuSearchRequestBody": { - "required": [ - "productIdType", - "queryIds" - ], - "type": "object", - "properties": { - "productIdType": { - "enum": [ - "SkuKey", - "Gtin", - "Mpn", - "Model", - "SkuId", - "ParentId" - ], - "type": "string", - "description": "sets which product id the QueryIds will be compared to" - }, - "queryIds": { - "type": "array", - "items": { - "type": "string" - }, - "description": "list of product ids to search for" - } - }, - "additionalProperties": false, - "description": "defines the type product Id to search and list of ids to be searched for" - }, - "RetailMediaAccount": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "account name", - "nullable": true - }, - "companyName": { - "type": "string", - "description": "Display name for reporting the owning entity of ads for the Digital Services Act in the European Union", - "nullable": true - }, - "type": { - "enum": [ - "Unknown", - "Supply", - "Demand" - ], - "type": "string", - "description": "Type for the account", - "nullable": true - }, - "subType": { + "description": "A top-level object that encapsulates a Criteo API response for a single value." + }, + "SkuSearchRequestBody": { + "required": [ + "productIdType", + "queryIds" + ], + "type": "object", + "properties": { + "productIdType": { "enum": [ - "Unknown", - "Brand", - "Seller" + "SkuKey", + "Gtin", + "Mpn", + "Model", + "SkuId", + "ParentId" ], "type": "string", - "description": "subtype for the account", - "nullable": true + "description": "sets which product id the QueryIds will be compared to" }, - "countryIds": { + "queryIds": { "type": "array", "items": { "type": "string" }, - "description": "list of countries associated with the account", - "nullable": true - }, - "currencyId": { - "type": "string", - "description": "the currency for the account", - "nullable": true - }, - "parentAccountLabel": { - "type": "string", - "description": "parent account label for the account", - "nullable": true - }, - "timeZone": { - "type": "string", - "description": "the timezone for the account", - "nullable": true + "description": "list of product ids to search for" } }, "additionalProperties": false, - "description": "The details for a newly created account" + "description": "defines the type product Id to search and list of ids to be searched for" }, - "RetailMediaSeller": { + "ChangeDetailsV1": { + "required": [ + "changeValue", + "currentValue", + "previousValue" + ], "type": "object", "properties": { - "sellerId": { + "previousValue": { "type": "string", - "description": "the seller id", + "description": "Previous value of a property of the insertion order.", "nullable": true }, - "retailerId": { - "type": "integer", - "description": "the retailer id", - "format": "int32", + "currentValue": { + "type": "string", + "description": "Current value of a property of the insertion order.", + "nullable": true + }, + "changeValue": { + "type": "string", + "description": "Change detail of a property of the insertion order.", "nullable": true } }, "additionalProperties": false, - "description": "used to define the exact seller linked with an account" + "description": "Change details of a property of the balance." }, "CampaignBudgetOverrides": { "required": [ @@ -10485,7 +11790,7 @@ "additionalProperties": false, "description": "Data model for response resource" }, - "ChangeDetails": { + "ChangeDetailsV2": { "required": [ "changeValue", "currentValue", @@ -10560,57 +11865,6 @@ "additionalProperties": false, "description": "Line item budget overrides including Monthly and Daily budget overrides." }, - "RetailMediaBrandAccountCreation": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "the name of the account, must be unique across all accounts", - "nullable": true - }, - "companyName": { - "type": "string", - "description": "Display name for reporting the owning entity of ads for the Digital Services Act in the European Union", - "nullable": true - }, - "brands": { - "type": "array", - "items": { - "type": "integer", - "format": "int64" - }, - "description": "list of brands to link to the new account", - "nullable": true - } - }, - "additionalProperties": false, - "description": "the initial set up and configuration options for a new private market demand brand account" - }, - "RetailMediaSellerAccountCreation": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "the name of the account, must be unique across all accounts", - "nullable": true - }, - "companyName": { - "type": "string", - "description": "Display name for reporting the owning entity of ads for the Digital Services Act in the European Union", - "nullable": true - }, - "sellers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/RetailMediaSeller" - }, - "description": "list of sellers to associate to the new account", - "nullable": true - } - }, - "additionalProperties": false, - "description": "the initial set up and configuration options for a new private market demand brand account" - }, "CampaignMonthlyBudgetOverride": { "required": [ "duration", @@ -10839,6 +12093,64 @@ "additionalProperties": false, "description": "Keywords submitted by the user binned by type after some cleanup has been performed" }, + "PagedResourceCollectionOutcomeOfBalanceResponseV2": { + "type": "object", + "properties": { + "metadata": { + "$ref": "#/components/schemas/PageMetadata" + }, + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ResourceOfBalanceResponseV2" + }, + "x-nullable": false + }, + "warnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "readOnly": true, + "x-nullable": false + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "readOnly": true, + "x-nullable": false + } + }, + "description": "Data model for a paged list of response resources" + }, + "BalanceResponseV2Response": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/ResourceOfBalanceResponseV2" + }, + "warnings": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "readOnly": true, + "x-nullable": false + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CommonProblem" + }, + "readOnly": true, + "x-nullable": false + } + }, + "description": "A top-level object that encapsulates a Criteo API response for a single entity", + "x-nullable": true + }, "PreferredLineItemV2PagedListResponse": { "type": "object", "properties": { @@ -10981,6 +12293,42 @@ "description": "Data model for a list of response resources", "x-nullable": false }, + "CreateBalanceV2Request": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/ResourceOfCreateBalanceV2" + } + }, + "description": "A top-level object that encapsulates a Criteo API request for a single entity" + }, + "UpdateBalanceModelV2Request": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/ResourceOfUpdateBalanceModelV2" + } + }, + "description": "A top-level object that encapsulates a Criteo API request for a single entity" + }, + "AddFundsToBalanceV2Request": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/ResourceOfAddFundsToBalanceV2" + } + }, + "description": "A top-level object that encapsulates a Criteo API request for a single entity" + }, + "ChangeDatesOfBalanceV2Request": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/ResourceOfChangeDatesOfBalanceV2" + } + }, + "description": "A top-level object that encapsulates a Criteo API request for a single entity" + }, "PreferredLineItemCreateModelV2Request": { "type": "object", "properties": { @@ -11022,22 +12370,125 @@ "$ref": "#/components/schemas/ResourceOfProductButtonRequest" } }, - "description": "Data model for an input resource", - "x-nullable": false + "description": "Data model for an input resource", + "x-nullable": false + }, + "PreferredLineItemUpdateModelV2Request": { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/ResourceOfPreferredLineItemUpdateModelV2" + } + }, + "description": "Data model for an input resource", + "x-nullable": false + }, + "ResourceOfBalanceResponseV2": { + "type": "object", + "properties": { + "attributes": { + "$ref": "#/components/schemas/BalanceResponseV2" + }, + "id": { + "type": "string", + "description": "Id of the entity", + "nullable": true + }, + "type": { + "type": "string", + "description": "Canonical type name of the entity", + "nullable": true + } + }, + "description": "A class that represents a domain entity exposed by an API" + }, + "ResourceOfPreferredLineItemV2": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Id of the entity", + "nullable": true + }, + "type": { + "type": "string", + "description": "Canonical type name of the entity", + "nullable": true + }, + "attributes": { + "$ref": "#/components/schemas/ExternalPreferredLineItemV2" + } + }, + "description": "Data model for a Resource", + "x-nullable": true + }, + "JsonApiBodyWithIdOfInt64AndLineItemBidMultipliersV2AndLineItemBidMultipliersV2": { + "required": [ + "id", + "type" + ], + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "long-id" + }, + "type": { + "type": "string" + }, + "attributes": { + "$ref": "#/components/schemas/ExternalLineItemBidMultipliersV2" + } + }, + "description": "A JSON:API wrapper class to format a with external Id, Type, and\r\nAttributes properties", + "x-nullable": false + }, + "ResourceOfLineItemBidMultipliersV2": { + "type": "object", + "properties": { + "attributes": { + "$ref": "#/components/schemas/ExternalLineItemBidMultipliersV2" + }, + "id": { + "type": "string", + "description": "Id of the entity", + "nullable": true + }, + "type": { + "type": "string", + "description": "Canonical type name of the entity", + "nullable": true + } + }, + "description": "A class that represents a domain entity exposed by an API", + "x-nullable": true }, - "PreferredLineItemUpdateModelV2Request": { + "ResourceOfProductButtonResponse": { "type": "object", "properties": { - "data": { - "$ref": "#/components/schemas/ResourceOfPreferredLineItemUpdateModelV2" + "attributes": { + "$ref": "#/components/schemas/ExternalProductButtonResponse" + }, + "id": { + "type": "string", + "description": "Id of the entity", + "nullable": true + }, + "type": { + "type": "string", + "description": "Canonical type name of the entity", + "nullable": true } }, - "description": "Data model for an input resource", + "description": "Data model for an output resource", "x-nullable": false }, - "ResourceOfPreferredLineItemV2": { + "ResourceOfCreateBalanceV2": { "type": "object", "properties": { + "attributes": { + "$ref": "#/components/schemas/CreateBalanceV2" + }, "id": { "type": "string", "description": "Id of the entity", @@ -11047,40 +12498,34 @@ "type": "string", "description": "Canonical type name of the entity", "nullable": true - }, - "attributes": { - "$ref": "#/components/schemas/ExternalPreferredLineItemV2" } }, - "description": "Data model for a Resource", - "x-nullable": true + "description": "A class that represents a domain entity exposed by an API" }, - "JsonApiBodyWithIdOfInt64AndLineItemBidMultipliersV2AndLineItemBidMultipliersV2": { - "required": [ - "id", - "type" - ], + "ResourceOfUpdateBalanceModelV2": { "type": "object", "properties": { + "attributes": { + "$ref": "#/components/schemas/UpdateBalanceModelV2" + }, "id": { "type": "string", - "format": "long-id" + "description": "Id of the entity", + "nullable": true }, "type": { - "type": "string" - }, - "attributes": { - "$ref": "#/components/schemas/ExternalLineItemBidMultipliersV2" + "type": "string", + "description": "Canonical type name of the entity", + "nullable": true } }, - "description": "A JSON:API wrapper class to format a with external Id, Type, and\r\nAttributes properties", - "x-nullable": false + "description": "A class that represents a domain entity exposed by an API" }, - "ResourceOfLineItemBidMultipliersV2": { + "ResourceOfAddFundsToBalanceV2": { "type": "object", "properties": { "attributes": { - "$ref": "#/components/schemas/ExternalLineItemBidMultipliersV2" + "$ref": "#/components/schemas/AddFundsToBalanceV2" }, "id": { "type": "string", @@ -11093,14 +12538,13 @@ "nullable": true } }, - "description": "A class that represents a domain entity exposed by an API", - "x-nullable": true + "description": "A class that represents a domain entity exposed by an API" }, - "ResourceOfProductButtonResponse": { + "ResourceOfChangeDatesOfBalanceV2": { "type": "object", "properties": { "attributes": { - "$ref": "#/components/schemas/ExternalProductButtonResponse" + "$ref": "#/components/schemas/ChangeDatesOfBalanceV2" }, "id": { "type": "string", @@ -11113,8 +12557,7 @@ "nullable": true } }, - "description": "Data model for an output resource", - "x-nullable": false + "description": "A class that represents a domain entity exposed by an API" }, "InputResourceOfPreferredLineItemCreateModelV2": { "type": "object", @@ -11170,6 +12613,122 @@ "description": "Data model for a Resource", "x-nullable": false }, + "BalanceResponseV2": { + "required": [ + "name", + "startDate", + "balanceType", + "spendType", + "privateMarketBillingType" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the balance.", + "x-nullable": false + }, + "poNumber": { + "type": "string", + "description": "Purchase Order number.", + "nullable": true, + "x-nullable": true + }, + "memo": { + "type": "string", + "description": "Memo.", + "nullable": true, + "x-nullable": true + }, + "deposited": { + "type": "number", + "description": "Amount of billable funds allotted to the balance.", + "format": "decimal", + "nullable": true, + "x-nullable": true + }, + "spent": { + "type": "number", + "description": "Amount of spent funds of the balance.", + "format": "decimal", + "nullable": true, + "x-nullable": true + }, + "remaining": { + "type": "number", + "description": "Amount of remaining funds of the balance.", + "format": "decimal", + "nullable": true, + "x-nullable": true + }, + "startDate": { + "type": "string", + "description": "Start date of the balance in the format YYYY-MM-DD.", + "x-nullable": false + }, + "endDate": { + "type": "string", + "description": "End date of the balance in the format YYYY-MM-DD.", + "nullable": true, + "x-nullable": true + }, + "status": { + "enum": [ + "unknown", + "scheduled", + "active", + "ended" + ], + "type": "string", + "description": "Status of the balance.", + "x-nullable": false + }, + "createdAt": { + "type": "string", + "description": "Creation time of the balance.", + "format": "date-time", + "x-nullable": false + }, + "updatedAt": { + "type": "string", + "description": "Update time of the balance.", + "format": "date-time", + "x-nullable": false + }, + "balanceType": { + "enum": [ + "unknown", + "capped", + "uncapped" + ], + "type": "string", + "description": "Type of the balance.", + "x-nullable": false + }, + "spendType": { + "enum": [ + "Onsite", + "Offsite", + "OffsiteAwareness" + ], + "type": "string", + "description": "Spend Type of the balance.", + "x-nullable": false + }, + "privateMarketBillingType": { + "enum": [ + "notApplicable", + "billByRetailer", + "billByCriteo", + "unknown" + ], + "type": "string", + "description": "Billing type for Private Market of the balance.", + "x-nullable": false + } + }, + "description": "A Retail Media Balance used to determine the funds available for any or all campaigns in an account" + }, "ExternalPreferredLineItemV2": { "required": [ "name", @@ -11190,17 +12749,11 @@ "x-nullable": false }, "startDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" }, "endDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" @@ -11404,6 +12957,145 @@ "description": "The Product Button entity used for output", "x-nullable": false }, + "CreateBalanceV2": { + "required": [ + "name", + "startDate", + "spendType" + ], + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the balance.", + "x-nullable": false + }, + "poNumber": { + "type": "string", + "description": "Purchase Order number.", + "nullable": true + }, + "deposited": { + "type": "number", + "description": "Amount of billable funds allotted to the balance.", + "format": "decimal", + "nullable": true + }, + "startDate": { + "type": "string", + "description": "Start date of the balance in the format YYYY-MM-DD.", + "x-nullable": false + }, + "endDate": { + "type": "string", + "description": "End date of the balance in the format YYYY-MM-DD.", + "nullable": true + }, + "spendType": { + "enum": [ + "Onsite", + "Offsite", + "OffsiteAwareness" + ], + "type": "string", + "description": "Type of the balance spend.", + "x-nullable": false + }, + "memo": { + "type": "string", + "description": "Memo", + "nullable": true + } + }, + "description": "An object that represents the available options to set when creating a Retail Media Balance" + }, + "UpdateBalanceModelV2": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the balance.", + "nullable": true, + "x-nullable": true + }, + "poNumber": { + "type": "string", + "description": "Purchase Order number.", + "nullable": true, + "x-nullable": true + }, + "startDate": { + "type": "string", + "description": "Start date of the balance in the format YYYY-MM-DD.", + "nullable": true, + "x-nullable": true + }, + "endDate": { + "type": "string", + "description": "End date of the balance in the format YYYY-MM-DD.", + "nullable": true, + "x-nullable": true + }, + "memo": { + "type": "string", + "description": "Memo.", + "nullable": true, + "x-nullable": true + } + }, + "description": "An object that represents the available options to set when updating a Retail Media Balance." + }, + "AddFundsToBalanceV2": { + "required": [ + "deltaAmount" + ], + "type": "object", + "properties": { + "deltaAmount": { + "type": "number", + "description": "Amount of billable funds to be added / decreased allotted to the balance.", + "format": "decimal", + "x-nullable": false + }, + "poNumber": { + "type": "string", + "description": "Purchase Order number.", + "nullable": true, + "x-nullable": true + }, + "memo": { + "type": "string", + "description": "Memo", + "nullable": true, + "x-nullable": true + } + }, + "description": "An object that represents the available options of adding funds to a balance." + }, + "ChangeDatesOfBalanceV2": { + "type": "object", + "properties": { + "startDate": { + "type": "string", + "description": "Start date of the balance in the format YYYY-MM-DD.", + "nullable": true, + "x-nullable": true + }, + "endDate": { + "type": "string", + "description": "End date of the balance in the format YYYY-MM-DD.", + "nullable": true, + "x-nullable": true + }, + "memo": { + "type": "string", + "description": "Memo.", + "nullable": true, + "x-nullable": true + } + }, + "description": "An object that represents the available options to modify schedule of a balance." + }, "ExternalPreferredLineItemCreateModelV2": { "required": [ "name", @@ -11423,17 +13115,11 @@ "x-nullable": false }, "startDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" }, "endDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" @@ -11544,17 +13230,11 @@ "x-nullable": false }, "startDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date" }, "endDate": { - "required": [ - "true" - ], "type": "string", "description": "Represents the Date as a year, month, and day in the format YYYY-MM-DD", "format": "date"