diff --git a/api-specifications/marketingsolutions_2023-01.json b/api-specifications/marketingsolutions_2023-01.json
deleted file mode 100644
index e9895bb..0000000
--- a/api-specifications/marketingsolutions_2023-01.json
+++ /dev/null
@@ -1,5110 +0,0 @@
-{
-  "openapi": "3.0.1",
-  "info": {
-    "title": "Criteo API",
-    "description": "Criteo API - MarketingSolutions",
-    "version": "2023-01"
-  },
-  "servers": [
-    {
-      "url": "https://api.criteo.com"
-    }
-  ],
-  "paths": {
-    "/2023-01/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-01/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-01/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-01/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-01/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-01/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-01/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-01/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-01/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-01/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-01/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-01/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-01/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-01/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-01/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-01/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-01/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-01/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-01/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_2024-04.json b/api-specifications/marketingsolutions_2024-04.json
new file mode 100644
index 0000000..c530c78
--- /dev/null
+++ b/api-specifications/marketingsolutions_2024-04.json
@@ -0,0 +1,11569 @@
+{
+  "openapi": "3.0.1",
+  "info": {
+    "title": "Criteo API",
+    "description": "Criteo API - MarketingSolutions",
+    "version": "2024-04"
+  },
+  "servers": [
+    {
+      "url": "https://api.criteo.com"
+    }
+  ],
+  "paths": {
+    "/2024-04/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-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": { }
+            }
+          }
+        }
+      }
+    },
+    "/2024-04/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-04/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-04/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-04/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-04/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-04/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-04/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-04/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-04/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-04/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-04/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-04/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-04/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-04/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-04/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-04/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-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": { }
+            }
+          }
+        }
+      },
+      "post": {
+        "tags": [
+          "Campaign"
+        ],
+        "description": "Create the specified ad set",
+        "operationId": "CreateAdSet",
+        "requestBody": {
+          "description": "the ad sets to create",
+          "content": {
+            "application/json-patch+json": {
+              "schema": {
+                "$ref": "#/components/schemas/CreateAdSetRequest"
+              }
+            },
+            "application/json": {
+              "schema": {
+                "$ref": "#/components/schemas/CreateAdSetRequest"
+              }
+            },
+            "text/json": {
+              "schema": {
+                "$ref": "#/components/schemas/CreateAdSetRequest"
+              }
+            },
+            "application/*+json": {
+              "schema": {
+                "$ref": "#/components/schemas/CreateAdSetRequest"
+              }
+            }
+          },
+          "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/ResponseReadAdSet"
+                }
+              },
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/ResponseReadAdSet"
+                }
+              },
+              "text/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/ResponseReadAdSet"
+                }
+              }
+            }
+          },
+          "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-04/marketing-solutions/ad-sets/search": {
+      "post": {
+        "tags": [
+          "Campaign"
+        ],
+        "description": "Search for ad sets",
+        "operationId": "SearchAdSetsV23Q1",
+        "requestBody": {
+          "content": {
+            "application/json-patch+json": {
+              "schema": {
+                "$ref": "#/components/schemas/AdSetSearchRequestV23Q1"
+              }
+            },
+            "application/json": {
+              "schema": {
+                "$ref": "#/components/schemas/AdSetSearchRequestV23Q1"
+              }
+            },
+            "text/json": {
+              "schema": {
+                "$ref": "#/components/schemas/AdSetSearchRequestV23Q1"
+              }
+            },
+            "application/*+json": {
+              "schema": {
+                "$ref": "#/components/schemas/AdSetSearchRequestV23Q1"
+              }
+            }
+          },
+          "x-bodyName": "request"
+        },
+        "responses": {
+          "200": {
+            "description": "data for the ad sets",
+            "content": {
+              "text/plain": {
+                "schema": {
+                  "$ref": "#/components/schemas/ResponsesReadAdSetV23Q1"
+                }
+              },
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/ResponsesReadAdSetV23Q1"
+                }
+              },
+              "text/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/ResponsesReadAdSetV23Q1"
+                }
+              }
+            }
+          },
+          "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-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": { }
+            }
+          }
+        }
+      }
+    },
+    "/2024-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": { }
+            }
+          }
+        }
+      }
+    },
+    "/2024-04/marketing-solutions/ad-sets/{ad-set-id}": {
+      "get": {
+        "tags": [
+          "Campaign"
+        ],
+        "description": "Get the data for the specified ad set",
+        "operationId": "GetAdSetV23Q1",
+        "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/ResponseReadAdSetV23Q1"
+                }
+              },
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/ResponseReadAdSetV23Q1"
+                }
+              },
+              "text/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/ResponseReadAdSetV23Q1"
+                }
+              }
+            }
+          },
+          "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-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": { }
+            }
+          }
+        }
+      }
+    },
+    "/2024-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": { }
+            }
+          }
+        }
+      }
+    },
+    "/2024-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": { }
+            }
+          }
+        }
+      },
+      "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-04/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-04/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-04/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-04/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-04/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-04/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-04/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-04/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-04/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-04/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-04/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-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"
+                }
+              }
+            }
+          }
+        }
+      }
+    },
+    "/2024-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"
+                }
+              }
+            }
+          }
+        }
+      }
+    },
+    "/2024-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"
+                }
+              }
+            }
+          }
+        }
+      }
+    },
+    "/2024-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"
+                }
+              }
+            }
+          }
+        }
+      }
+    },
+    "/2024-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": {
+      "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"
+                ],
+                "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"
+      },
+      "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"
+      },
+      "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"
+      },
+      "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"
+      },
+      "ResponsesReadAdSetV23Q1": {
+        "type": "object",
+        "properties": {
+          "data": {
+            "type": "array",
+            "items": {
+              "$ref": "#/components/schemas/ReadModelReadAdSetV23Q1"
+            },
+            "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"
+      },
+      "ResponseReadAdSetV23Q1": {
+        "type": "object",
+        "properties": {
+          "data": {
+            "$ref": "#/components/schemas/ReadModelReadAdSetV23Q1"
+          },
+          "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"
+      },
+      "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"
+      },
+      "RequestsPatchAdSet": {
+        "type": "object",
+        "properties": {
+          "data": {
+            "type": "array",
+            "items": {
+              "$ref": "#/components/schemas/WriteModelPatchAdSet"
+            },
+            "nullable": true,
+            "x-nullable": true
+          }
+        },
+        "description": "List of input resources"
+      },
+      "CreateAdSetRequest": {
+        "type": "object",
+        "properties": {
+          "data": {
+            "$ref": "#/components/schemas/CreateAdSetResource"
+          }
+        },
+        "description": "Data model for an input resources"
+      },
+      "AdSetSearchRequestV23Q1": {
+        "type": "object",
+        "properties": {
+          "filters": {
+            "$ref": "#/components/schemas/AdSetSearchFilterV23Q1"
+          }
+        },
+        "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"
+      },
+      "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"
+      },
+      "ReadModelReadAdSetV23Q1": {
+        "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": "ReadAdSetV23Q1",
+            "x-nullable": true
+          },
+          "attributes": {
+            "$ref": "#/components/schemas/ReadAdSetV23Q1"
+          }
+        },
+        "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"
+      },
+      "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"
+      },
+      "CreateAdSetResource": {
+        "type": "object",
+        "properties": {
+          "attributes": {
+            "$ref": "#/components/schemas/CreateAdSet"
+          },
+          "type": {
+            "type": "string",
+            "description": "Canonical type name of the entity",
+            "nullable": true,
+            "example": "AdSet"
+          }
+        },
+        "description": "Data model for a Resource"
+      },
+      "AdSetSearchFilterV23Q1": {
+        "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"
+      },
+      "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"
+      },
+      "ReadAdSetV23Q1": {
+        "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/ReadAdSetScheduleV23Q1"
+          },
+          "bidding": {
+            "$ref": "#/components/schemas/ReadAdSetBiddingV23Q1"
+          },
+          "targeting": {
+            "$ref": "#/components/schemas/AdSetTargetingV23Q1"
+          },
+          "budget": {
+            "$ref": "#/components/schemas/ReadAdSetBudgetV23Q1"
+          },
+          "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"
+      },
+      "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"
+      },
+      "CreateAdSet": {
+        "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/CreateAdSetSchedule"
+          },
+          "bidding": {
+            "$ref": "#/components/schemas/CreateAdSetBidding"
+          },
+          "targeting": {
+            "$ref": "#/components/schemas/CreateAdSetTargeting"
+          },
+          "budget": {
+            "$ref": "#/components/schemas/CreateAdSetBudget"
+          },
+          "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"
+      },
+      "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"
+      },
+      "ReadAdSetScheduleV23Q1": {
+        "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"
+      },
+      "ReadAdSetBiddingV23Q1": {
+        "type": "object",
+        "properties": {
+          "bidAmount": {
+            "$ref": "#/components/schemas/NillableDecimal"
+          },
+          "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"
+      },
+      "AdSetTargetingV23Q1": {
+        "type": "object",
+        "properties": {
+          "deliveryLimitations": {
+            "$ref": "#/components/schemas/AdSetDeliveryLimitationsV23Q1"
+          },
+          "geoLocation": {
+            "$ref": "#/components/schemas/AdSetGeoLocationV23Q1"
+          },
+          "frequencyCapping": {
+            "$ref": "#/components/schemas/AdSetFrequencyCappingV23Q1"
+          }
+        },
+        "description": "ad set targeting model"
+      },
+      "ReadAdSetBudgetV23Q1": {
+        "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"
+      },
+      "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"
+      },
+      "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"
+      },
+      "CreateAdSetSchedule": {
+        "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"
+      },
+      "CreateAdSetBidding": {
+        "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"
+            ],
+            "type": "string",
+            "description": "How spend is controlled"
+          }
+        },
+        "description": "ad set bidding create model"
+      },
+      "CreateAdSetTargeting": {
+        "required": [
+          "frequencyCapping"
+        ],
+        "type": "object",
+        "properties": {
+          "deliveryLimitations": {
+            "$ref": "#/components/schemas/AdSetDeliveryLimitations"
+          },
+          "geoLocation": {
+            "$ref": "#/components/schemas/CreateAdSetGeoLocation"
+          },
+          "frequencyCapping": {
+            "$ref": "#/components/schemas/AdSetFrequencyCapping"
+          }
+        },
+        "description": "Targeting configuration of the ad set"
+      },
+      "CreateAdSetBudget": {
+        "required": [
+          "budgetStrategy"
+        ],
+        "type": "object",
+        "properties": {
+          "budgetStrategy": {
+            "enum": [
+              "capped",
+              "uncapped"
+            ],
+            "type": "string"
+          },
+          "budgetRenewal": {
+            "enum": [
+              "undefined",
+              "daily",
+              "monthly",
+              "lifetime"
+            ],
+            "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."
+      },
+      "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"
+      },
+      "AdSetDeliveryLimitationsV23Q1": {
+        "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"
+      },
+      "AdSetGeoLocationV23Q1": {
+        "type": "object",
+        "properties": {
+          "countries": {
+            "$ref": "#/components/schemas/NillableAdSetTargetingRuleV23Q1"
+          },
+          "subdivisions": {
+            "$ref": "#/components/schemas/NillableAdSetTargetingRuleV23Q1"
+          },
+          "zipCodes": {
+            "$ref": "#/components/schemas/NillableAdSetTargetingRuleV23Q1"
+          }
+        },
+        "description": "ad set geolocation model"
+      },
+      "AdSetFrequencyCappingV23Q1": {
+        "type": "object",
+        "properties": {
+          "frequency": {
+            "enum": [
+              "hourly",
+              "daily",
+              "lifetime",
+              "advanced"
+            ],
+            "type": "string",
+            "nullable": true,
+            "x-nullable": true
+          },
+          "maximumImpressions": {
+            "type": "integer",
+            "format": "int32",
+            "nullable": true,
+            "x-nullable": true
+          },
+          "mode": {
+            "enum": [
+              "manual",
+              "automatic"
+            ],
+            "type": "string",
+            "nullable": true
+          }
+        },
+        "description": "ad set frequency capping model"
+      },
+      "CreateAdSetGeoLocation": {
+        "type": "object",
+        "properties": {
+          "countries": {
+            "$ref": "#/components/schemas/AdSetTargetingRule"
+          },
+          "subdivisions": {
+            "$ref": "#/components/schemas/AdSetTargetingRule"
+          },
+          "zipCodes": {
+            "$ref": "#/components/schemas/AdSetTargetingRule"
+          }
+        },
+        "description": "Geolocation configuration of the ad set"
+      },
+      "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."
+      },
+      "NillableAdSetTargetingRuleV23Q1": {
+        "type": "object",
+        "properties": {
+          "value": {
+            "type": "object",
+            "allOf": [
+              {
+                "$ref": "#/components/schemas/AdSetTargetingRuleV23Q1"
+              }
+            ],
+            "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"
+      },
+      "AdSetTargetingRuleV23Q1": {
+        "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",
+          "creativeBackgrounColor",
+          "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 4b7b3a7..99fd8df 100644
--- a/api-specifications/marketingsolutions_preview.json
+++ b/api-specifications/marketingsolutions_preview.json
@@ -3,7 +3,7 @@
   "info": {
     "title": "Criteo API",
     "description": "Criteo API - MarketingSolutions",
-    "version": "preview"
+    "version": "Preview"
   },
   "servers": [
     {
diff --git a/api-specifications/retailmedia_2023-04.json b/api-specifications/retailmedia_2023-04.json
index 683bbba..964c35b 100644
--- a/api-specifications/retailmedia_2023-04.json
+++ b/api-specifications/retailmedia_2023-04.json
@@ -700,7 +700,7 @@
           {
             "name": "id",
             "in": "path",
-            "description": "Long external id of the associated line item",
+            "description": "ID of the line item",
             "required": true,
             "style": "simple",
             "schema": {
@@ -712,19 +712,9 @@
           "200": {
             "description": "Success",
             "content": {
-              "text/plain": {
-                "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1KeywordsModelResponse"
-                }
-              },
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1KeywordsModelResponse"
-                }
-              },
-              "text/json": {
-                "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1KeywordsModelResponse"
+                  "$ref": "#/components/schemas/KeywordsModelResponse"
                 }
               }
             }
@@ -732,9 +722,11 @@
           "400": {
             "description": "Bad Request",
             "content": {
-              "text/plain": { },
-              "application/json": { },
-              "text/json": { }
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/ResourceOutcome"
+                }
+              }
             }
           }
         }
@@ -745,13 +737,13 @@
         "tags": [
           "Campaign"
         ],
-        "description": "Add or Remove keywords from the associated line item in bulk",
+        "description": "Add or Remove keywords from the line item in bulk",
         "operationId": "AddRemoveKeywords",
         "parameters": [
           {
             "name": "id",
             "in": "path",
-            "description": "Long external id of the associated line item",
+            "description": "ID of the line item",
             "required": true,
             "style": "simple",
             "schema": {
@@ -760,33 +752,21 @@
           }
         ],
         "requestBody": {
-          "description": "Object containing keywords to be added or removed",
           "content": {
             "application/json": {
               "schema": {
-                "$ref": "#/components/schemas/RetailMediaExternalv1AddRemoveKeywordsModelRequest"
+                "$ref": "#/components/schemas/AddRemoveKeywordsModelRequest"
               }
             }
-          },
-          "x-bodyName": "keywords"
+          }
         },
         "responses": {
           "200": {
             "description": "Success",
             "content": {
-              "text/plain": {
-                "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ResourceOutcome"
-                }
-              },
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ResourceOutcome"
-                }
-              },
-              "text/json": {
-                "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ResourceOutcome"
+                  "$ref": "#/components/schemas/ResourceOutcome"
                 }
               }
             }
@@ -794,9 +774,11 @@
           "400": {
             "description": "Bad Request",
             "content": {
-              "text/plain": { },
-              "application/json": { },
-              "text/json": { }
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/ResourceOutcome"
+                }
+              }
             }
           }
         }
@@ -813,7 +795,7 @@
           {
             "name": "id",
             "in": "path",
-            "description": "Long external id of the associated line item",
+            "description": "ID of the line item",
             "required": true,
             "style": "simple",
             "schema": {
@@ -822,33 +804,21 @@
           }
         ],
         "requestBody": {
-          "description": "Object containing a list of bid overrides for associated keywords",
           "content": {
             "application/json": {
               "schema": {
-                "$ref": "#/components/schemas/RetailMediaExternalv1SetBidsModelRequest"
+                "$ref": "#/components/schemas/SetBidsModelRequest"
               }
             }
-          },
-          "x-bodyName": "keywords"
+          }
         },
         "responses": {
           "200": {
             "description": "Success",
             "content": {
-              "text/plain": {
-                "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ResourceOutcome"
-                }
-              },
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ResourceOutcome"
-                }
-              },
-              "text/json": {
-                "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ResourceOutcome"
+                  "$ref": "#/components/schemas/ResourceOutcome"
                 }
               }
             }
@@ -856,9 +826,11 @@
           "400": {
             "description": "Bad Request",
             "content": {
-              "text/plain": { },
-              "application/json": { },
-              "text/json": { }
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/ResourceOutcome"
+                }
+              }
             }
           }
         }
@@ -869,13 +841,13 @@
         "tags": [
           "Campaign"
         ],
-        "description": "Fetch the status of a proposal to modify a Preferred Deal Line Item.",
+        "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": "id",
             "in": "path",
-            "description": "The external id of a line item.",
+            "description": "ID of the line item",
             "required": true,
             "style": "simple",
             "schema": {
@@ -887,19 +859,9 @@
           "200": {
             "description": "Success",
             "content": {
-              "text/plain": {
-                "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ProposalStatusModelResponse"
-                }
-              },
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ProposalStatusModelResponse"
-                }
-              },
-              "text/json": {
-                "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ProposalStatusModelResponse"
+                  "$ref": "#/components/schemas/ProposalStatusModelResponse"
                 }
               }
             }
@@ -907,25 +869,21 @@
           "400": {
             "description": "Bad Request",
             "content": {
-              "text/plain": { },
-              "application/json": { },
-              "text/json": { }
-            }
-          },
-          "500": {
-            "description": "Server Error",
-            "content": {
-              "text/plain": { },
-              "application/json": { },
-              "text/json": { }
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/ResourceOutcome"
+                }
+              }
             }
           },
           "403": {
             "description": "Forbidden",
             "content": {
-              "text/plain": { },
-              "application/json": { },
-              "text/json": { }
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/ResourceOutcome"
+                }
+              }
             }
           }
         }
@@ -936,13 +894,13 @@
         "tags": [
           "Campaign"
         ],
-        "description": "Submit a proposal to modify a Preferred Deal Line Item for review.",
+        "description": "Only the components of the Line Item that are in a valid state will be reviewed.",
         "operationId": "SubmitProposal",
         "parameters": [
           {
             "name": "id",
             "in": "path",
-            "description": "The external id of a line item.",
+            "description": "ID of the line item",
             "required": true,
             "style": "simple",
             "schema": {
@@ -954,19 +912,9 @@
           "200": {
             "description": "Success",
             "content": {
-              "text/plain": {
-                "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ProposalStatusModelResponse"
-                }
-              },
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ProposalStatusModelResponse"
-                }
-              },
-              "text/json": {
-                "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ProposalStatusModelResponse"
+                  "$ref": "#/components/schemas/ProposalStatusModelResponse"
                 }
               }
             }
@@ -974,25 +922,21 @@
           "400": {
             "description": "Bad Request",
             "content": {
-              "text/plain": { },
-              "application/json": { },
-              "text/json": { }
-            }
-          },
-          "500": {
-            "description": "Server Error",
-            "content": {
-              "text/plain": { },
-              "application/json": { },
-              "text/json": { }
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/ResourceOutcome"
+                }
+              }
             }
           },
           "403": {
             "description": "Forbidden",
             "content": {
-              "text/plain": { },
-              "application/json": { },
-              "text/json": { }
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/ResourceOutcome"
+                }
+              }
             }
           }
         }
@@ -4749,7 +4693,7 @@
             "readOnly": true
           }
         },
-        "description": "List of responses"
+        "description": "A top-level object that encapsulates a Criteo API response for several entities and metadata"
       },
       "RmLegacyAudienceCreateEntityV1Response": {
         "type": "object",
@@ -4871,7 +4815,7 @@
             "nullable": true
           }
         },
-        "description": "Legacy resource"
+        "description": "A class that represents a domain entity exposed by an API"
       },
       "RmLegacyAudienceCreateEntityV1Resource": {
         "type": "object",
@@ -5303,106 +5247,102 @@
         },
         "description": "User Behavior Details."
       },
-      "RetailMediaExternalv1KeywordsModelResponse": {
+      "KeywordsModelResponse": {
         "type": "object",
         "properties": {
-          "data": {
-            "$ref": "#/components/schemas/RetailMediaExternalv1KeywordsModelResource"
-          },
           "errors": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/RetailMediaExternalv1ProblemDetails"
+              "$ref": "#/components/schemas/RmcaCommonProblem"
             },
             "nullable": true,
             "readOnly": true
           },
           "warnings": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/RetailMediaExternalv1ProblemDetails"
+              "$ref": "#/components/schemas/RmcaCommonProblem"
             },
             "nullable": true,
             "readOnly": true
+          },
+          "data": {
+            "$ref": "#/components/schemas/KeywordsModelResource"
           }
         },
-        "description": "Response object containing keywords associated with a line item"
+        "additionalProperties": false,
+        "description": "Response object containing keywords associated with a line item."
       },
-      "RetailMediaExternalv1ResourceOutcome": {
+      "ResourceOutcome": {
         "type": "object",
         "properties": {
           "errors": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/RetailMediaExternalv1ProblemDetails"
+              "$ref": "#/components/schemas/RmcaCommonProblem"
             },
             "nullable": true,
             "readOnly": true
           },
           "warnings": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/RetailMediaExternalv1ProblemDetails"
+              "$ref": "#/components/schemas/RmcaCommonProblem"
             },
             "nullable": true,
             "readOnly": true
           }
         },
-        "description": "A response object containing errors or warnings if required"
+        "additionalProperties": false,
+        "description": "Outcome object containing errors and warnings."
       },
-      "RetailMediaExternalv1ProposalStatusModelResponse": {
+      "ProposalStatusModelResponse": {
         "type": "object",
         "properties": {
-          "data": {
-            "$ref": "#/components/schemas/RetailMediaExternalv1ProposalStatusModelResource"
-          },
           "errors": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/RetailMediaExternalv1ProblemDetails"
+              "$ref": "#/components/schemas/RmcaCommonProblem"
             },
             "nullable": true,
             "readOnly": true
           },
           "warnings": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/RetailMediaExternalv1ProblemDetails"
+              "$ref": "#/components/schemas/RmcaCommonProblem"
             },
             "nullable": true,
             "readOnly": true
+          },
+          "data": {
+            "$ref": "#/components/schemas/ProposalStatusModelResource"
           }
         },
-        "description": "Wrapper for the proposal status resource"
+        "additionalProperties": false,
+        "description": "Response object containing the state of a proposal in the context of a line item."
       },
-      "RetailMediaExternalv1AddRemoveKeywordsModelRequest": {
+      "AddRemoveKeywordsModelRequest": {
         "type": "object",
         "properties": {
           "data": {
-            "$ref": "#/components/schemas/RetailMediaExternalv1AddRemoveKeywordsModelResource"
+            "$ref": "#/components/schemas/AddRemoveKeywordsModelResource"
           }
         },
+        "additionalProperties": false,
         "description": "Request object to add or remove keywords from a line item"
       },
-      "RetailMediaExternalv1SetBidsModelRequest": {
+      "SetBidsModelRequest": {
         "type": "object",
         "properties": {
           "data": {
-            "$ref": "#/components/schemas/RetailMediaExternalv1SetBidsModelResource"
+            "$ref": "#/components/schemas/SetBidsModelResource"
           }
         },
-        "description": "Request to set bid overrides for specified keywords on a line item"
+        "additionalProperties": false,
+        "description": "Request object to set bid overrides for keywords associated with a line item"
       },
-      "RetailMediaExternalv1KeywordsModelResource": {
-        "required": [
-          "type"
-        ],
+      "KeywordsModelResource": {
         "type": "object",
         "properties": {
           "id": {
@@ -5410,67 +5350,82 @@
             "nullable": true
           },
           "type": {
-            "type": "string"
+            "type": "string",
+            "nullable": true
           },
           "attributes": {
-            "$ref": "#/components/schemas/RetailMediaExternalv1KeywordsModel"
+            "$ref": "#/components/schemas/KeywordsModel"
           }
         },
-        "description": "Resource wrapper of associated keywords with a line item"
+        "additionalProperties": false,
+        "description": "Resource object containing keywords associated with a line item."
       },
-      "RetailMediaExternalv1ProblemDetails": {
+      "RmcaCommonProblem": {
         "type": "object",
         "properties": {
-          "traceIdentifier": {
+          "traceId": {
             "type": "string",
+            "description": "The request correlation ID this problem comes from.",
             "nullable": true
           },
-          "code": {
+          "type": {
+            "enum": [
+              "unknown",
+              "access-control",
+              "authentication",
+              "authorization",
+              "availability",
+              "deprecation",
+              "quota",
+              "validation"
+            ],
             "type": "string",
+            "description": "The problem's category.",
             "nullable": true
           },
-          "source": {
-            "type": "object",
-            "additionalProperties": {
-              "type": "string"
-            },
+          "code": {
+            "type": "string",
+            "description": "A machine-readable  error code, expressed as a string value.",
             "nullable": true
           },
-          "stackTrace": {
+          "instance": {
             "type": "string",
+            "description": "A URI that identifies the specific occurrence of the problem.",
             "nullable": true
           },
-          "type": {
+          "title": {
             "type": "string",
+            "description": "A short human-readable description of the problem type",
             "nullable": true
           },
-          "title": {
+          "detail": {
             "type": "string",
+            "description": "A human-readable explanation specific to this occurrence of the problem",
             "nullable": true
           },
-          "status": {
-            "type": "integer",
-            "format": "int32",
+          "source": {
+            "type": "object",
+            "additionalProperties": {
+              "type": "string"
+            },
+            "description": "A machine-readable structure to reference to the exact location(s) causing the error(s)",
             "nullable": true
           },
-          "detail": {
+          "stackTrace": {
             "type": "string",
             "nullable": true
           },
-          "instance": {
-            "type": "string",
+          "status": {
+            "type": "integer",
+            "description": "The problem's HTTP Status code.",
+            "format": "int32",
             "nullable": true
           }
         },
-        "additionalProperties": {
-          "type": "object"
-        },
-        "description": "Datamodel for common errors and warnings"
+        "additionalProperties": { },
+        "description": "Common problem object."
       },
-      "RetailMediaExternalv1ProposalStatusModelResource": {
-        "required": [
-          "type"
-        ],
+      "ProposalStatusModelResource": {
         "type": "object",
         "properties": {
           "id": {
@@ -5478,18 +5433,17 @@
             "nullable": true
           },
           "type": {
-            "type": "string"
+            "type": "string",
+            "nullable": true
           },
           "attributes": {
-            "$ref": "#/components/schemas/RetailMediaExternalv1ProposalStatusModel"
+            "$ref": "#/components/schemas/ProposalStatusModel"
           }
         },
-        "description": "Wrapper for the proposal status"
+        "additionalProperties": false,
+        "description": "Resource object containing the state of a proposal in the context of a line item."
       },
-      "RetailMediaExternalv1AddRemoveKeywordsModelResource": {
-        "required": [
-          "type"
-        ],
+      "AddRemoveKeywordsModelResource": {
         "type": "object",
         "properties": {
           "id": {
@@ -5497,18 +5451,17 @@
             "nullable": true
           },
           "type": {
-            "type": "string"
+            "type": "string",
+            "nullable": true
           },
           "attributes": {
-            "$ref": "#/components/schemas/RetailMediaExternalv1AddRemoveKeywordsModel"
+            "$ref": "#/components/schemas/AddRemoveKeywordsModel"
           }
         },
-        "description": "Resource wrapper the keyword add and remove datamodel"
+        "additionalProperties": false,
+        "description": "Resource object containing keywords to be added or removed from a line item"
       },
-      "RetailMediaExternalv1SetBidsModelResource": {
-        "required": [
-          "type"
-        ],
+      "SetBidsModelResource": {
         "type": "object",
         "properties": {
           "id": {
@@ -5516,22 +5469,27 @@
             "nullable": true
           },
           "type": {
-            "type": "string"
+            "type": "string",
+            "nullable": true
           },
           "attributes": {
-            "$ref": "#/components/schemas/RetailMediaExternalv1SetBidsModel"
+            "$ref": "#/components/schemas/SetBidsModel"
           }
         },
-        "description": "Wrapper of the Set Bids datamodel"
+        "additionalProperties": false,
+        "description": "Resource object containing keywords and their associated bid overrides"
       },
-      "RetailMediaExternalv1KeywordsModel": {
+      "KeywordsModel": {
         "type": "object",
         "properties": {
           "keywords": {
-            "$ref": "#/components/schemas/RetailMediaExternalv1KeywordDataModel"
+            "type": "object",
+            "additionalProperties": {
+              "$ref": "#/components/schemas/KeywordDataModel"
+            },
+            "nullable": true
           },
           "rank": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
               "type": "string"
@@ -5539,43 +5497,20 @@
             "nullable": true
           }
         },
-        "description": "Datamodel representing keywords associated with a line item"
+        "additionalProperties": false,
+        "description": "The keywords associated with a line item."
       },
-      "RetailMediaExternalv1ProposalStatusModel": {
-        "required": [
-          "negotiationState",
-          "bookingStatus",
-          "runnableStatus"
-        ],
+      "ProposalStatusModel": {
         "type": "object",
         "properties": {
           "negotiationState": {
-            "enum": [
-              "Invalid",
-              "Modified",
-              "Submitted",
-              "Reviewed",
-              "Approved"
-            ],
-            "type": "string"
+            "$ref": "#/components/schemas/NegotiationStateModel"
           },
           "bookingStatus": {
-            "enum": [
-              "NotSubmitted",
-              "Submitted",
-              "Rejected",
-              "Approved"
-            ],
-            "type": "string"
+            "$ref": "#/components/schemas/ApprovalStatusModel"
           },
           "runnableStatus": {
-            "enum": [
-              "NotSubmitted",
-              "Submitted",
-              "Rejected",
-              "Approved"
-            ],
-            "type": "string"
+            "$ref": "#/components/schemas/ApprovalStatusModel"
           },
           "comment": {
             "type": "string",
@@ -5592,59 +5527,45 @@
             "nullable": true
           }
         },
-        "description": "The proposal status 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."
+        "additionalProperties": false,
+        "description": "The state of a proposal in the context of a line item."
       },
-      "RetailMediaExternalv1AddRemoveKeywordsModel": {
+      "AddRemoveKeywordsModel": {
         "type": "object",
         "properties": {
           "keywords": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/RetailMediaExternalv1AddRemoveKeywordModel"
+              "$ref": "#/components/schemas/AddRemoveKeywordModel"
             },
             "nullable": true
           }
         },
+        "additionalProperties": false,
         "description": "Data model containing keywords to be added or removed from a line item"
       },
-      "RetailMediaExternalv1SetBidsModel": {
+      "SetBidsModel": {
         "type": "object",
         "properties": {
           "keywords": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/RetailMediaExternalv1SetBidModel"
+              "$ref": "#/components/schemas/SetBidModel"
             },
             "nullable": true
           }
         },
-        "description": "Data model containing keywords and bid overrides to associate to them"
+        "additionalProperties": false,
+        "description": "Data model containing keywords and their associated bid overrides"
       },
-      "RetailMediaExternalv1KeywordDataModel": {
+      "KeywordDataModel": {
         "type": "object",
         "properties": {
           "reviewState": {
-            "enum": [
-              "InReview",
-              "Recommended",
-              "Approved",
-              "AutoApproved",
-              "Rejected",
-              "AutoRejected"
-            ],
-            "type": "string",
-            "nullable": true
+            "$ref": "#/components/schemas/ReviewStateModel"
           },
           "matchType": {
-            "enum": [
-              "PositiveExactMatch",
-              "NegativeExactMatch",
-              "NegativeBroadMatch"
-            ],
-            "type": "string",
-            "nullable": true
+            "$ref": "#/components/schemas/MatchTypeModel"
           },
           "bid": {
             "type": "number",
@@ -5652,7 +5573,7 @@
             "nullable": true
           },
           "inputKeywords": {
-            "$ref": "#/components/schemas/RetailMediaExternalv1InputKeywordsModel"
+            "$ref": "#/components/schemas/InputKeywordsModel"
           },
           "createdAt": {
             "type": "string",
@@ -5665,9 +5586,31 @@
             "nullable": true
           }
         },
-        "description": "Details for a specific keyword"
+        "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."
       },
-      "RetailMediaExternalv1AddRemoveKeywordModel": {
+      "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": {
@@ -5677,22 +5620,17 @@
             "nullable": true
           },
           "matchType": {
-            "enum": [
-              "PositiveExactMatch",
-              "NegativeExactMatch",
-              "NegativeBroadMatch"
-            ],
-            "type": "string",
-            "nullable": true
+            "$ref": "#/components/schemas/MatchTypeModel"
           },
           "isDeleted": {
             "type": "boolean",
             "nullable": true
           }
         },
+        "additionalProperties": false,
         "description": "A single keyword to be added or removed"
       },
-      "RetailMediaExternalv1SetBidModel": {
+      "SetBidModel": {
         "type": "object",
         "properties": {
           "phrase": {
@@ -5707,13 +5645,34 @@
             "nullable": true
           }
         },
+        "additionalProperties": false,
         "description": "A single keyword and associated bid override"
       },
-      "RetailMediaExternalv1InputKeywordsModel": {
+      "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": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
               "type": "string"
@@ -5721,7 +5680,6 @@
             "nullable": true
           },
           "negativeExact": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
               "type": "string"
@@ -5729,7 +5687,6 @@
             "nullable": true
           },
           "positiveExact": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
               "type": "string"
@@ -5737,7 +5694,8 @@
             "nullable": true
           }
         },
-        "description": "Input values associated with a keyword"
+        "additionalProperties": false,
+        "description": "The keywords to be added or removed from a line item."
       },
       "Creative202110ListResponse": {
         "type": "object",
@@ -7136,20 +7094,24 @@
           },
           "campaignType": {
             "enum": [
+              "all",
               "sponsoredProducts",
               "onSiteDisplays"
             ],
             "type": "string",
             "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
           },
           "format": {
@@ -7182,10 +7144,10 @@
           },
           "clickAttributionWindow": {
             "enum": [
+              "none",
               "7D",
               "14D",
-              "30D",
-              "none"
+              "30D"
             ],
             "type": "string",
             "description": "Click attribution window",
@@ -7194,11 +7156,11 @@
           },
           "viewAttributionWindow": {
             "enum": [
+              "none",
               "1D",
               "7D",
               "14D",
-              "30D",
-              "none"
+              "30D"
             ],
             "type": "string",
             "description": "View attribution window",
@@ -7216,19 +7178,20 @@
                 "campaignId",
                 "campaignName",
                 "campaignTypeName",
-                "advProductCategory",
-                "advProductId",
-                "advProductName",
-                "brandId",
-                "brandName",
                 "lineItemId",
                 "lineItemName",
                 "retailerId",
                 "retailerName",
-                "keyword",
-                "pageTypeName",
+                "brandId",
+                "brandName",
+                "advProductCategory",
+                "advProductId",
+                "advProductName",
                 "salesChannel",
-                "environment"
+                "environment",
+                "pageTypeName",
+                "keyword",
+                "searchTerm"
               ],
               "type": "string"
             },
@@ -7252,6 +7215,14 @@
                 "cpo",
                 "cpm",
                 "roas",
+                "videoViews",
+                "videosStarted",
+                "videosPlayedTo25",
+                "videosPlayedTo50",
+                "videosPlayedTo75",
+                "videosPlayedTo100",
+                "videoPlayingRate",
+                "videoCompletionRate",
                 "uniqueVisitors",
                 "frequency"
               ],
@@ -7301,20 +7272,24 @@
           },
           "campaignType": {
             "enum": [
+              "all",
               "sponsoredProducts",
               "onSiteDisplays"
             ],
             "type": "string",
             "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
           },
           "format": {
@@ -7347,10 +7322,10 @@
           },
           "clickAttributionWindow": {
             "enum": [
+              "none",
               "7D",
               "14D",
-              "30D",
-              "none"
+              "30D"
             ],
             "type": "string",
             "description": "Click attribution window",
@@ -7359,11 +7334,11 @@
           },
           "viewAttributionWindow": {
             "enum": [
+              "none",
               "1D",
               "7D",
               "14D",
-              "30D",
-              "none"
+              "30D"
             ],
             "type": "string",
             "description": "View attribution window",
@@ -7381,19 +7356,20 @@
                 "campaignId",
                 "campaignName",
                 "campaignTypeName",
-                "advProductCategory",
-                "advProductId",
-                "advProductName",
-                "brandId",
-                "brandName",
                 "lineItemId",
                 "lineItemName",
                 "retailerId",
                 "retailerName",
-                "keyword",
-                "pageTypeName",
+                "brandId",
+                "brandName",
+                "advProductCategory",
+                "advProductId",
+                "advProductName",
                 "salesChannel",
-                "environment"
+                "environment",
+                "pageTypeName",
+                "keyword",
+                "searchTerm"
               ],
               "type": "string"
             },
@@ -7417,6 +7393,14 @@
                 "cpo",
                 "cpm",
                 "roas",
+                "videoViews",
+                "videosStarted",
+                "videosPlayedTo25",
+                "videosPlayedTo50",
+                "videosPlayedTo75",
+                "videosPlayedTo100",
+                "videoPlayingRate",
+                "videoCompletionRate",
                 "uniqueVisitors",
                 "frequency"
               ],
diff --git a/api-specifications/retailmedia_2023-07.json b/api-specifications/retailmedia_2023-07.json
index 1faf201..659d4c3 100644
--- a/api-specifications/retailmedia_2023-07.json
+++ b/api-specifications/retailmedia_2023-07.json
@@ -700,7 +700,7 @@
           {
             "name": "id",
             "in": "path",
-            "description": "Long external id of the associated line item",
+            "description": "ID of the line item",
             "required": true,
             "style": "simple",
             "schema": {
@@ -712,19 +712,9 @@
           "200": {
             "description": "Success",
             "content": {
-              "text/plain": {
-                "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1KeywordsModelResponse"
-                }
-              },
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1KeywordsModelResponse"
-                }
-              },
-              "text/json": {
-                "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1KeywordsModelResponse"
+                  "$ref": "#/components/schemas/KeywordsModelResponse"
                 }
               }
             }
@@ -732,9 +722,11 @@
           "400": {
             "description": "Bad Request",
             "content": {
-              "text/plain": { },
-              "application/json": { },
-              "text/json": { }
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/ResourceOutcome"
+                }
+              }
             }
           }
         }
@@ -745,13 +737,13 @@
         "tags": [
           "Campaign"
         ],
-        "description": "Add or Remove keywords from the associated line item in bulk",
+        "description": "Add or Remove keywords from the line item in bulk",
         "operationId": "AddRemoveKeywords",
         "parameters": [
           {
             "name": "id",
             "in": "path",
-            "description": "Long external id of the associated line item",
+            "description": "ID of the line item",
             "required": true,
             "style": "simple",
             "schema": {
@@ -760,33 +752,21 @@
           }
         ],
         "requestBody": {
-          "description": "Object containing keywords to be added or removed",
           "content": {
             "application/json": {
               "schema": {
-                "$ref": "#/components/schemas/RetailMediaExternalv1AddRemoveKeywordsModelRequest"
+                "$ref": "#/components/schemas/AddRemoveKeywordsModelRequest"
               }
             }
-          },
-          "x-bodyName": "keywords"
+          }
         },
         "responses": {
           "200": {
             "description": "Success",
             "content": {
-              "text/plain": {
-                "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ResourceOutcome"
-                }
-              },
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ResourceOutcome"
-                }
-              },
-              "text/json": {
-                "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ResourceOutcome"
+                  "$ref": "#/components/schemas/ResourceOutcome"
                 }
               }
             }
@@ -794,9 +774,11 @@
           "400": {
             "description": "Bad Request",
             "content": {
-              "text/plain": { },
-              "application/json": { },
-              "text/json": { }
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/ResourceOutcome"
+                }
+              }
             }
           }
         }
@@ -813,7 +795,7 @@
           {
             "name": "id",
             "in": "path",
-            "description": "Long external id of the associated line item",
+            "description": "ID of the line item",
             "required": true,
             "style": "simple",
             "schema": {
@@ -822,33 +804,21 @@
           }
         ],
         "requestBody": {
-          "description": "Object containing a list of bid overrides for associated keywords",
           "content": {
             "application/json": {
               "schema": {
-                "$ref": "#/components/schemas/RetailMediaExternalv1SetBidsModelRequest"
+                "$ref": "#/components/schemas/SetBidsModelRequest"
               }
             }
-          },
-          "x-bodyName": "keywords"
+          }
         },
         "responses": {
           "200": {
             "description": "Success",
             "content": {
-              "text/plain": {
-                "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ResourceOutcome"
-                }
-              },
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ResourceOutcome"
-                }
-              },
-              "text/json": {
-                "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ResourceOutcome"
+                  "$ref": "#/components/schemas/ResourceOutcome"
                 }
               }
             }
@@ -856,9 +826,11 @@
           "400": {
             "description": "Bad Request",
             "content": {
-              "text/plain": { },
-              "application/json": { },
-              "text/json": { }
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/ResourceOutcome"
+                }
+              }
             }
           }
         }
@@ -869,13 +841,13 @@
         "tags": [
           "Campaign"
         ],
-        "description": "Fetch the status of a proposal to modify a Preferred Deal Line Item.",
+        "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": "id",
             "in": "path",
-            "description": "The external id of a line item.",
+            "description": "ID of the line item",
             "required": true,
             "style": "simple",
             "schema": {
@@ -887,19 +859,9 @@
           "200": {
             "description": "Success",
             "content": {
-              "text/plain": {
-                "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ProposalStatusModelResponse"
-                }
-              },
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ProposalStatusModelResponse"
-                }
-              },
-              "text/json": {
-                "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ProposalStatusModelResponse"
+                  "$ref": "#/components/schemas/ProposalStatusModelResponse"
                 }
               }
             }
@@ -907,25 +869,21 @@
           "400": {
             "description": "Bad Request",
             "content": {
-              "text/plain": { },
-              "application/json": { },
-              "text/json": { }
-            }
-          },
-          "500": {
-            "description": "Server Error",
-            "content": {
-              "text/plain": { },
-              "application/json": { },
-              "text/json": { }
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/ResourceOutcome"
+                }
+              }
             }
           },
           "403": {
             "description": "Forbidden",
             "content": {
-              "text/plain": { },
-              "application/json": { },
-              "text/json": { }
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/ResourceOutcome"
+                }
+              }
             }
           }
         }
@@ -936,13 +894,13 @@
         "tags": [
           "Campaign"
         ],
-        "description": "Submit a proposal to modify a Preferred Deal Line Item for review.",
+        "description": "Only the components of the Line Item that are in a valid state will be reviewed.",
         "operationId": "SubmitProposal",
         "parameters": [
           {
             "name": "id",
             "in": "path",
-            "description": "The external id of a line item.",
+            "description": "ID of the line item",
             "required": true,
             "style": "simple",
             "schema": {
@@ -954,19 +912,9 @@
           "200": {
             "description": "Success",
             "content": {
-              "text/plain": {
-                "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ProposalStatusModelResponse"
-                }
-              },
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ProposalStatusModelResponse"
-                }
-              },
-              "text/json": {
-                "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ProposalStatusModelResponse"
+                  "$ref": "#/components/schemas/ProposalStatusModelResponse"
                 }
               }
             }
@@ -974,25 +922,21 @@
           "400": {
             "description": "Bad Request",
             "content": {
-              "text/plain": { },
-              "application/json": { },
-              "text/json": { }
-            }
-          },
-          "500": {
-            "description": "Server Error",
-            "content": {
-              "text/plain": { },
-              "application/json": { },
-              "text/json": { }
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/ResourceOutcome"
+                }
+              }
             }
           },
           "403": {
             "description": "Forbidden",
             "content": {
-              "text/plain": { },
-              "application/json": { },
-              "text/json": { }
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/ResourceOutcome"
+                }
+              }
             }
           }
         }
@@ -4749,7 +4693,7 @@
             "readOnly": true
           }
         },
-        "description": "List of responses"
+        "description": "A top-level object that encapsulates a Criteo API response for several entities and metadata"
       },
       "RmLegacyAudienceCreateEntityV1Response": {
         "type": "object",
@@ -4871,7 +4815,7 @@
             "nullable": true
           }
         },
-        "description": "Legacy resource"
+        "description": "A class that represents a domain entity exposed by an API"
       },
       "RmLegacyAudienceCreateEntityV1Resource": {
         "type": "object",
@@ -5303,106 +5247,102 @@
         },
         "description": "User Behavior Details."
       },
-      "RetailMediaExternalv1KeywordsModelResponse": {
+      "KeywordsModelResponse": {
         "type": "object",
         "properties": {
-          "data": {
-            "$ref": "#/components/schemas/RetailMediaExternalv1KeywordsModelResource"
-          },
           "errors": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/RetailMediaExternalv1ProblemDetails"
+              "$ref": "#/components/schemas/RmcaCommonProblem"
             },
             "nullable": true,
             "readOnly": true
           },
           "warnings": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/RetailMediaExternalv1ProblemDetails"
+              "$ref": "#/components/schemas/RmcaCommonProblem"
             },
             "nullable": true,
             "readOnly": true
+          },
+          "data": {
+            "$ref": "#/components/schemas/KeywordsModelResource"
           }
         },
-        "description": "Response object containing keywords associated with a line item"
+        "additionalProperties": false,
+        "description": "Response object containing keywords associated with a line item."
       },
-      "RetailMediaExternalv1ResourceOutcome": {
+      "ResourceOutcome": {
         "type": "object",
         "properties": {
           "errors": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/RetailMediaExternalv1ProblemDetails"
+              "$ref": "#/components/schemas/RmcaCommonProblem"
             },
             "nullable": true,
             "readOnly": true
           },
           "warnings": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/RetailMediaExternalv1ProblemDetails"
+              "$ref": "#/components/schemas/RmcaCommonProblem"
             },
             "nullable": true,
             "readOnly": true
           }
         },
-        "description": "A response object containing errors or warnings if required"
+        "additionalProperties": false,
+        "description": "Outcome object containing errors and warnings."
       },
-      "RetailMediaExternalv1ProposalStatusModelResponse": {
+      "ProposalStatusModelResponse": {
         "type": "object",
         "properties": {
-          "data": {
-            "$ref": "#/components/schemas/RetailMediaExternalv1ProposalStatusModelResource"
-          },
           "errors": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/RetailMediaExternalv1ProblemDetails"
+              "$ref": "#/components/schemas/RmcaCommonProblem"
             },
             "nullable": true,
             "readOnly": true
           },
           "warnings": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/RetailMediaExternalv1ProblemDetails"
+              "$ref": "#/components/schemas/RmcaCommonProblem"
             },
             "nullable": true,
             "readOnly": true
+          },
+          "data": {
+            "$ref": "#/components/schemas/ProposalStatusModelResource"
           }
         },
-        "description": "Wrapper for the proposal status resource"
+        "additionalProperties": false,
+        "description": "Response object containing the state of a proposal in the context of a line item."
       },
-      "RetailMediaExternalv1AddRemoveKeywordsModelRequest": {
+      "AddRemoveKeywordsModelRequest": {
         "type": "object",
         "properties": {
           "data": {
-            "$ref": "#/components/schemas/RetailMediaExternalv1AddRemoveKeywordsModelResource"
+            "$ref": "#/components/schemas/AddRemoveKeywordsModelResource"
           }
         },
+        "additionalProperties": false,
         "description": "Request object to add or remove keywords from a line item"
       },
-      "RetailMediaExternalv1SetBidsModelRequest": {
+      "SetBidsModelRequest": {
         "type": "object",
         "properties": {
           "data": {
-            "$ref": "#/components/schemas/RetailMediaExternalv1SetBidsModelResource"
+            "$ref": "#/components/schemas/SetBidsModelResource"
           }
         },
-        "description": "Request to set bid overrides for specified keywords on a line item"
+        "additionalProperties": false,
+        "description": "Request object to set bid overrides for keywords associated with a line item"
       },
-      "RetailMediaExternalv1KeywordsModelResource": {
-        "required": [
-          "type"
-        ],
+      "KeywordsModelResource": {
         "type": "object",
         "properties": {
           "id": {
@@ -5410,67 +5350,82 @@
             "nullable": true
           },
           "type": {
-            "type": "string"
+            "type": "string",
+            "nullable": true
           },
           "attributes": {
-            "$ref": "#/components/schemas/RetailMediaExternalv1KeywordsModel"
+            "$ref": "#/components/schemas/KeywordsModel"
           }
         },
-        "description": "Resource wrapper of associated keywords with a line item"
+        "additionalProperties": false,
+        "description": "Resource object containing keywords associated with a line item."
       },
-      "RetailMediaExternalv1ProblemDetails": {
+      "RmcaCommonProblem": {
         "type": "object",
         "properties": {
-          "traceIdentifier": {
+          "traceId": {
             "type": "string",
+            "description": "The request correlation ID this problem comes from.",
             "nullable": true
           },
-          "code": {
+          "type": {
+            "enum": [
+              "unknown",
+              "access-control",
+              "authentication",
+              "authorization",
+              "availability",
+              "deprecation",
+              "quota",
+              "validation"
+            ],
             "type": "string",
+            "description": "The problem's category.",
             "nullable": true
           },
-          "source": {
-            "type": "object",
-            "additionalProperties": {
-              "type": "string"
-            },
+          "code": {
+            "type": "string",
+            "description": "A machine-readable  error code, expressed as a string value.",
             "nullable": true
           },
-          "stackTrace": {
+          "instance": {
             "type": "string",
+            "description": "A URI that identifies the specific occurrence of the problem.",
             "nullable": true
           },
-          "type": {
+          "title": {
             "type": "string",
+            "description": "A short human-readable description of the problem type",
             "nullable": true
           },
-          "title": {
+          "detail": {
             "type": "string",
+            "description": "A human-readable explanation specific to this occurrence of the problem",
             "nullable": true
           },
-          "status": {
-            "type": "integer",
-            "format": "int32",
+          "source": {
+            "type": "object",
+            "additionalProperties": {
+              "type": "string"
+            },
+            "description": "A machine-readable structure to reference to the exact location(s) causing the error(s)",
             "nullable": true
           },
-          "detail": {
+          "stackTrace": {
             "type": "string",
             "nullable": true
           },
-          "instance": {
-            "type": "string",
+          "status": {
+            "type": "integer",
+            "description": "The problem's HTTP Status code.",
+            "format": "int32",
             "nullable": true
           }
         },
-        "additionalProperties": {
-          "type": "object"
-        },
-        "description": "Datamodel for common errors and warnings"
+        "additionalProperties": { },
+        "description": "Common problem object."
       },
-      "RetailMediaExternalv1ProposalStatusModelResource": {
-        "required": [
-          "type"
-        ],
+      "ProposalStatusModelResource": {
         "type": "object",
         "properties": {
           "id": {
@@ -5478,18 +5433,17 @@
             "nullable": true
           },
           "type": {
-            "type": "string"
+            "type": "string",
+            "nullable": true
           },
           "attributes": {
-            "$ref": "#/components/schemas/RetailMediaExternalv1ProposalStatusModel"
+            "$ref": "#/components/schemas/ProposalStatusModel"
           }
         },
-        "description": "Wrapper for the proposal status"
+        "additionalProperties": false,
+        "description": "Resource object containing the state of a proposal in the context of a line item."
       },
-      "RetailMediaExternalv1AddRemoveKeywordsModelResource": {
-        "required": [
-          "type"
-        ],
+      "AddRemoveKeywordsModelResource": {
         "type": "object",
         "properties": {
           "id": {
@@ -5497,18 +5451,17 @@
             "nullable": true
           },
           "type": {
-            "type": "string"
+            "type": "string",
+            "nullable": true
           },
           "attributes": {
-            "$ref": "#/components/schemas/RetailMediaExternalv1AddRemoveKeywordsModel"
+            "$ref": "#/components/schemas/AddRemoveKeywordsModel"
           }
         },
-        "description": "Resource wrapper the keyword add and remove datamodel"
+        "additionalProperties": false,
+        "description": "Resource object containing keywords to be added or removed from a line item"
       },
-      "RetailMediaExternalv1SetBidsModelResource": {
-        "required": [
-          "type"
-        ],
+      "SetBidsModelResource": {
         "type": "object",
         "properties": {
           "id": {
@@ -5516,22 +5469,27 @@
             "nullable": true
           },
           "type": {
-            "type": "string"
+            "type": "string",
+            "nullable": true
           },
           "attributes": {
-            "$ref": "#/components/schemas/RetailMediaExternalv1SetBidsModel"
+            "$ref": "#/components/schemas/SetBidsModel"
           }
         },
-        "description": "Wrapper of the Set Bids datamodel"
+        "additionalProperties": false,
+        "description": "Resource object containing keywords and their associated bid overrides"
       },
-      "RetailMediaExternalv1KeywordsModel": {
+      "KeywordsModel": {
         "type": "object",
         "properties": {
           "keywords": {
-            "$ref": "#/components/schemas/RetailMediaExternalv1KeywordDataModel"
+            "type": "object",
+            "additionalProperties": {
+              "$ref": "#/components/schemas/KeywordDataModel"
+            },
+            "nullable": true
           },
           "rank": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
               "type": "string"
@@ -5539,43 +5497,20 @@
             "nullable": true
           }
         },
-        "description": "Datamodel representing keywords associated with a line item"
+        "additionalProperties": false,
+        "description": "The keywords associated with a line item."
       },
-      "RetailMediaExternalv1ProposalStatusModel": {
-        "required": [
-          "negotiationState",
-          "bookingStatus",
-          "runnableStatus"
-        ],
+      "ProposalStatusModel": {
         "type": "object",
         "properties": {
           "negotiationState": {
-            "enum": [
-              "Invalid",
-              "Modified",
-              "Submitted",
-              "Reviewed",
-              "Approved"
-            ],
-            "type": "string"
+            "$ref": "#/components/schemas/NegotiationStateModel"
           },
           "bookingStatus": {
-            "enum": [
-              "NotSubmitted",
-              "Submitted",
-              "Rejected",
-              "Approved"
-            ],
-            "type": "string"
+            "$ref": "#/components/schemas/ApprovalStatusModel"
           },
           "runnableStatus": {
-            "enum": [
-              "NotSubmitted",
-              "Submitted",
-              "Rejected",
-              "Approved"
-            ],
-            "type": "string"
+            "$ref": "#/components/schemas/ApprovalStatusModel"
           },
           "comment": {
             "type": "string",
@@ -5592,59 +5527,45 @@
             "nullable": true
           }
         },
-        "description": "The proposal status 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."
+        "additionalProperties": false,
+        "description": "The state of a proposal in the context of a line item."
       },
-      "RetailMediaExternalv1AddRemoveKeywordsModel": {
+      "AddRemoveKeywordsModel": {
         "type": "object",
         "properties": {
           "keywords": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/RetailMediaExternalv1AddRemoveKeywordModel"
+              "$ref": "#/components/schemas/AddRemoveKeywordModel"
             },
             "nullable": true
           }
         },
+        "additionalProperties": false,
         "description": "Data model containing keywords to be added or removed from a line item"
       },
-      "RetailMediaExternalv1SetBidsModel": {
+      "SetBidsModel": {
         "type": "object",
         "properties": {
           "keywords": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/RetailMediaExternalv1SetBidModel"
+              "$ref": "#/components/schemas/SetBidModel"
             },
             "nullable": true
           }
         },
-        "description": "Data model containing keywords and bid overrides to associate to them"
+        "additionalProperties": false,
+        "description": "Data model containing keywords and their associated bid overrides"
       },
-      "RetailMediaExternalv1KeywordDataModel": {
+      "KeywordDataModel": {
         "type": "object",
         "properties": {
           "reviewState": {
-            "enum": [
-              "InReview",
-              "Recommended",
-              "Approved",
-              "AutoApproved",
-              "Rejected",
-              "AutoRejected"
-            ],
-            "type": "string",
-            "nullable": true
+            "$ref": "#/components/schemas/ReviewStateModel"
           },
           "matchType": {
-            "enum": [
-              "PositiveExactMatch",
-              "NegativeExactMatch",
-              "NegativeBroadMatch"
-            ],
-            "type": "string",
-            "nullable": true
+            "$ref": "#/components/schemas/MatchTypeModel"
           },
           "bid": {
             "type": "number",
@@ -5652,7 +5573,7 @@
             "nullable": true
           },
           "inputKeywords": {
-            "$ref": "#/components/schemas/RetailMediaExternalv1InputKeywordsModel"
+            "$ref": "#/components/schemas/InputKeywordsModel"
           },
           "createdAt": {
             "type": "string",
@@ -5665,9 +5586,31 @@
             "nullable": true
           }
         },
-        "description": "Details for a specific keyword"
+        "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."
       },
-      "RetailMediaExternalv1AddRemoveKeywordModel": {
+      "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": {
@@ -5677,22 +5620,17 @@
             "nullable": true
           },
           "matchType": {
-            "enum": [
-              "PositiveExactMatch",
-              "NegativeExactMatch",
-              "NegativeBroadMatch"
-            ],
-            "type": "string",
-            "nullable": true
+            "$ref": "#/components/schemas/MatchTypeModel"
           },
           "isDeleted": {
             "type": "boolean",
             "nullable": true
           }
         },
+        "additionalProperties": false,
         "description": "A single keyword to be added or removed"
       },
-      "RetailMediaExternalv1SetBidModel": {
+      "SetBidModel": {
         "type": "object",
         "properties": {
           "phrase": {
@@ -5707,13 +5645,34 @@
             "nullable": true
           }
         },
+        "additionalProperties": false,
         "description": "A single keyword and associated bid override"
       },
-      "RetailMediaExternalv1InputKeywordsModel": {
+      "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": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
               "type": "string"
@@ -5721,7 +5680,6 @@
             "nullable": true
           },
           "negativeExact": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
               "type": "string"
@@ -5729,7 +5687,6 @@
             "nullable": true
           },
           "positiveExact": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
               "type": "string"
@@ -5737,7 +5694,8 @@
             "nullable": true
           }
         },
-        "description": "Input values associated with a keyword"
+        "additionalProperties": false,
+        "description": "The keywords to be added or removed from a line item."
       },
       "Creative202110ListResponse": {
         "type": "object",
@@ -7136,20 +7094,24 @@
           },
           "campaignType": {
             "enum": [
+              "all",
               "sponsoredProducts",
               "onSiteDisplays"
             ],
             "type": "string",
             "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
           },
           "format": {
@@ -7182,10 +7144,10 @@
           },
           "clickAttributionWindow": {
             "enum": [
+              "none",
               "7D",
               "14D",
-              "30D",
-              "none"
+              "30D"
             ],
             "type": "string",
             "description": "Click attribution window",
@@ -7194,11 +7156,11 @@
           },
           "viewAttributionWindow": {
             "enum": [
+              "none",
               "1D",
               "7D",
               "14D",
-              "30D",
-              "none"
+              "30D"
             ],
             "type": "string",
             "description": "View attribution window",
@@ -7216,19 +7178,20 @@
                 "campaignId",
                 "campaignName",
                 "campaignTypeName",
-                "advProductCategory",
-                "advProductId",
-                "advProductName",
-                "brandId",
-                "brandName",
                 "lineItemId",
                 "lineItemName",
                 "retailerId",
                 "retailerName",
-                "keyword",
-                "pageTypeName",
+                "brandId",
+                "brandName",
+                "advProductCategory",
+                "advProductId",
+                "advProductName",
                 "salesChannel",
-                "environment"
+                "environment",
+                "pageTypeName",
+                "keyword",
+                "searchTerm"
               ],
               "type": "string"
             },
@@ -7252,6 +7215,14 @@
                 "cpo",
                 "cpm",
                 "roas",
+                "videoViews",
+                "videosStarted",
+                "videosPlayedTo25",
+                "videosPlayedTo50",
+                "videosPlayedTo75",
+                "videosPlayedTo100",
+                "videoPlayingRate",
+                "videoCompletionRate",
                 "uniqueVisitors",
                 "frequency"
               ],
@@ -7301,20 +7272,24 @@
           },
           "campaignType": {
             "enum": [
+              "all",
               "sponsoredProducts",
               "onSiteDisplays"
             ],
             "type": "string",
             "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
           },
           "format": {
@@ -7347,10 +7322,10 @@
           },
           "clickAttributionWindow": {
             "enum": [
+              "none",
               "7D",
               "14D",
-              "30D",
-              "none"
+              "30D"
             ],
             "type": "string",
             "description": "Click attribution window",
@@ -7359,11 +7334,11 @@
           },
           "viewAttributionWindow": {
             "enum": [
+              "none",
               "1D",
               "7D",
               "14D",
-              "30D",
-              "none"
+              "30D"
             ],
             "type": "string",
             "description": "View attribution window",
@@ -7381,19 +7356,20 @@
                 "campaignId",
                 "campaignName",
                 "campaignTypeName",
-                "advProductCategory",
-                "advProductId",
-                "advProductName",
-                "brandId",
-                "brandName",
                 "lineItemId",
                 "lineItemName",
                 "retailerId",
                 "retailerName",
-                "keyword",
-                "pageTypeName",
+                "brandId",
+                "brandName",
+                "advProductCategory",
+                "advProductId",
+                "advProductName",
                 "salesChannel",
-                "environment"
+                "environment",
+                "pageTypeName",
+                "keyword",
+                "searchTerm"
               ],
               "type": "string"
             },
@@ -7417,6 +7393,14 @@
                 "cpo",
                 "cpm",
                 "roas",
+                "videoViews",
+                "videosStarted",
+                "videosPlayedTo25",
+                "videosPlayedTo50",
+                "videosPlayedTo75",
+                "videosPlayedTo100",
+                "videoPlayingRate",
+                "videoCompletionRate",
                 "uniqueVisitors",
                 "frequency"
               ],
diff --git a/api-specifications/retailmedia_2023-10.json b/api-specifications/retailmedia_2023-10.json
index 3775c79..9e1f940 100644
--- a/api-specifications/retailmedia_2023-10.json
+++ b/api-specifications/retailmedia_2023-10.json
@@ -700,7 +700,7 @@
           {
             "name": "id",
             "in": "path",
-            "description": "Long external id of the associated line item",
+            "description": "ID of the line item",
             "required": true,
             "style": "simple",
             "schema": {
@@ -712,19 +712,9 @@
           "200": {
             "description": "Success",
             "content": {
-              "text/plain": {
-                "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1KeywordsModelResponse"
-                }
-              },
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1KeywordsModelResponse"
-                }
-              },
-              "text/json": {
-                "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1KeywordsModelResponse"
+                  "$ref": "#/components/schemas/KeywordsModelResponse"
                 }
               }
             }
@@ -732,9 +722,11 @@
           "400": {
             "description": "Bad Request",
             "content": {
-              "text/plain": { },
-              "application/json": { },
-              "text/json": { }
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/ResourceOutcome"
+                }
+              }
             }
           }
         }
@@ -745,13 +737,13 @@
         "tags": [
           "Campaign"
         ],
-        "description": "Add or Remove keywords from the associated line item in bulk",
+        "description": "Add or Remove keywords from the line item in bulk",
         "operationId": "AddRemoveKeywords",
         "parameters": [
           {
             "name": "id",
             "in": "path",
-            "description": "Long external id of the associated line item",
+            "description": "ID of the line item",
             "required": true,
             "style": "simple",
             "schema": {
@@ -760,33 +752,21 @@
           }
         ],
         "requestBody": {
-          "description": "Object containing keywords to be added or removed",
           "content": {
             "application/json": {
               "schema": {
-                "$ref": "#/components/schemas/RetailMediaExternalv1AddRemoveKeywordsModelRequest"
+                "$ref": "#/components/schemas/AddRemoveKeywordsModelRequest"
               }
             }
-          },
-          "x-bodyName": "keywords"
+          }
         },
         "responses": {
           "200": {
             "description": "Success",
             "content": {
-              "text/plain": {
-                "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ResourceOutcome"
-                }
-              },
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ResourceOutcome"
-                }
-              },
-              "text/json": {
-                "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ResourceOutcome"
+                  "$ref": "#/components/schemas/ResourceOutcome"
                 }
               }
             }
@@ -794,9 +774,11 @@
           "400": {
             "description": "Bad Request",
             "content": {
-              "text/plain": { },
-              "application/json": { },
-              "text/json": { }
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/ResourceOutcome"
+                }
+              }
             }
           }
         }
@@ -813,7 +795,7 @@
           {
             "name": "id",
             "in": "path",
-            "description": "Long external id of the associated line item",
+            "description": "ID of the line item",
             "required": true,
             "style": "simple",
             "schema": {
@@ -822,33 +804,21 @@
           }
         ],
         "requestBody": {
-          "description": "Object containing a list of bid overrides for associated keywords",
           "content": {
             "application/json": {
               "schema": {
-                "$ref": "#/components/schemas/RetailMediaExternalv1SetBidsModelRequest"
+                "$ref": "#/components/schemas/SetBidsModelRequest"
               }
             }
-          },
-          "x-bodyName": "keywords"
+          }
         },
         "responses": {
           "200": {
             "description": "Success",
             "content": {
-              "text/plain": {
-                "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ResourceOutcome"
-                }
-              },
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ResourceOutcome"
-                }
-              },
-              "text/json": {
-                "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ResourceOutcome"
+                  "$ref": "#/components/schemas/ResourceOutcome"
                 }
               }
             }
@@ -856,9 +826,11 @@
           "400": {
             "description": "Bad Request",
             "content": {
-              "text/plain": { },
-              "application/json": { },
-              "text/json": { }
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/ResourceOutcome"
+                }
+              }
             }
           }
         }
@@ -869,13 +841,13 @@
         "tags": [
           "Campaign"
         ],
-        "description": "Fetch the status of a proposal to modify a Preferred Deal Line Item.",
+        "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": "id",
             "in": "path",
-            "description": "The external id of a line item.",
+            "description": "ID of the line item",
             "required": true,
             "style": "simple",
             "schema": {
@@ -887,19 +859,9 @@
           "200": {
             "description": "Success",
             "content": {
-              "text/plain": {
-                "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ProposalStatusModelResponse"
-                }
-              },
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ProposalStatusModelResponse"
-                }
-              },
-              "text/json": {
-                "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ProposalStatusModelResponse"
+                  "$ref": "#/components/schemas/ProposalStatusModelResponse"
                 }
               }
             }
@@ -907,25 +869,21 @@
           "400": {
             "description": "Bad Request",
             "content": {
-              "text/plain": { },
-              "application/json": { },
-              "text/json": { }
-            }
-          },
-          "500": {
-            "description": "Server Error",
-            "content": {
-              "text/plain": { },
-              "application/json": { },
-              "text/json": { }
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/ResourceOutcome"
+                }
+              }
             }
           },
           "403": {
             "description": "Forbidden",
             "content": {
-              "text/plain": { },
-              "application/json": { },
-              "text/json": { }
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/ResourceOutcome"
+                }
+              }
             }
           }
         }
@@ -936,13 +894,13 @@
         "tags": [
           "Campaign"
         ],
-        "description": "Submit a proposal to modify a Preferred Deal Line Item for review.",
+        "description": "Only the components of the Line Item that are in a valid state will be reviewed.",
         "operationId": "SubmitProposal",
         "parameters": [
           {
             "name": "id",
             "in": "path",
-            "description": "The external id of a line item.",
+            "description": "ID of the line item",
             "required": true,
             "style": "simple",
             "schema": {
@@ -954,19 +912,9 @@
           "200": {
             "description": "Success",
             "content": {
-              "text/plain": {
-                "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ProposalStatusModelResponse"
-                }
-              },
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ProposalStatusModelResponse"
-                }
-              },
-              "text/json": {
-                "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ProposalStatusModelResponse"
+                  "$ref": "#/components/schemas/ProposalStatusModelResponse"
                 }
               }
             }
@@ -974,25 +922,21 @@
           "400": {
             "description": "Bad Request",
             "content": {
-              "text/plain": { },
-              "application/json": { },
-              "text/json": { }
-            }
-          },
-          "500": {
-            "description": "Server Error",
-            "content": {
-              "text/plain": { },
-              "application/json": { },
-              "text/json": { }
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/ResourceOutcome"
+                }
+              }
             }
           },
           "403": {
             "description": "Forbidden",
             "content": {
-              "text/plain": { },
-              "application/json": { },
-              "text/json": { }
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/ResourceOutcome"
+                }
+              }
             }
           }
         }
@@ -5102,7 +5046,7 @@
             "readOnly": true
           }
         },
-        "description": "List of responses"
+        "description": "A top-level object that encapsulates a Criteo API response for several entities and metadata"
       },
       "RmLegacyAudienceCreateEntityV1Response": {
         "type": "object",
@@ -5224,7 +5168,7 @@
             "nullable": true
           }
         },
-        "description": "Legacy resource"
+        "description": "A class that represents a domain entity exposed by an API"
       },
       "RmLegacyAudienceCreateEntityV1Resource": {
         "type": "object",
@@ -5656,106 +5600,102 @@
         },
         "description": "User Behavior Details."
       },
-      "RetailMediaExternalv1KeywordsModelResponse": {
+      "KeywordsModelResponse": {
         "type": "object",
         "properties": {
-          "data": {
-            "$ref": "#/components/schemas/RetailMediaExternalv1KeywordsModelResource"
-          },
           "errors": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/RetailMediaExternalv1ProblemDetails"
+              "$ref": "#/components/schemas/RmcaCommonProblem"
             },
             "nullable": true,
             "readOnly": true
           },
           "warnings": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/RetailMediaExternalv1ProblemDetails"
+              "$ref": "#/components/schemas/RmcaCommonProblem"
             },
             "nullable": true,
             "readOnly": true
+          },
+          "data": {
+            "$ref": "#/components/schemas/KeywordsModelResource"
           }
         },
-        "description": "Response object containing keywords associated with a line item"
+        "additionalProperties": false,
+        "description": "Response object containing keywords associated with a line item."
       },
-      "RetailMediaExternalv1ResourceOutcome": {
+      "ResourceOutcome": {
         "type": "object",
         "properties": {
           "errors": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/RetailMediaExternalv1ProblemDetails"
+              "$ref": "#/components/schemas/RmcaCommonProblem"
             },
             "nullable": true,
             "readOnly": true
           },
           "warnings": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/RetailMediaExternalv1ProblemDetails"
+              "$ref": "#/components/schemas/RmcaCommonProblem"
             },
             "nullable": true,
             "readOnly": true
           }
         },
-        "description": "A response object containing errors or warnings if required"
+        "additionalProperties": false,
+        "description": "Outcome object containing errors and warnings."
       },
-      "RetailMediaExternalv1ProposalStatusModelResponse": {
+      "ProposalStatusModelResponse": {
         "type": "object",
         "properties": {
-          "data": {
-            "$ref": "#/components/schemas/RetailMediaExternalv1ProposalStatusModelResource"
-          },
           "errors": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/RetailMediaExternalv1ProblemDetails"
+              "$ref": "#/components/schemas/RmcaCommonProblem"
             },
             "nullable": true,
             "readOnly": true
           },
           "warnings": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/RetailMediaExternalv1ProblemDetails"
+              "$ref": "#/components/schemas/RmcaCommonProblem"
             },
             "nullable": true,
             "readOnly": true
+          },
+          "data": {
+            "$ref": "#/components/schemas/ProposalStatusModelResource"
           }
         },
-        "description": "Wrapper for the proposal status resource"
+        "additionalProperties": false,
+        "description": "Response object containing the state of a proposal in the context of a line item."
       },
-      "RetailMediaExternalv1AddRemoveKeywordsModelRequest": {
+      "AddRemoveKeywordsModelRequest": {
         "type": "object",
         "properties": {
           "data": {
-            "$ref": "#/components/schemas/RetailMediaExternalv1AddRemoveKeywordsModelResource"
+            "$ref": "#/components/schemas/AddRemoveKeywordsModelResource"
           }
         },
+        "additionalProperties": false,
         "description": "Request object to add or remove keywords from a line item"
       },
-      "RetailMediaExternalv1SetBidsModelRequest": {
+      "SetBidsModelRequest": {
         "type": "object",
         "properties": {
           "data": {
-            "$ref": "#/components/schemas/RetailMediaExternalv1SetBidsModelResource"
+            "$ref": "#/components/schemas/SetBidsModelResource"
           }
         },
-        "description": "Request to set bid overrides for specified keywords on a line item"
+        "additionalProperties": false,
+        "description": "Request object to set bid overrides for keywords associated with a line item"
       },
-      "RetailMediaExternalv1KeywordsModelResource": {
-        "required": [
-          "type"
-        ],
+      "KeywordsModelResource": {
         "type": "object",
         "properties": {
           "id": {
@@ -5763,67 +5703,82 @@
             "nullable": true
           },
           "type": {
-            "type": "string"
+            "type": "string",
+            "nullable": true
           },
           "attributes": {
-            "$ref": "#/components/schemas/RetailMediaExternalv1KeywordsModel"
+            "$ref": "#/components/schemas/KeywordsModel"
           }
         },
-        "description": "Resource wrapper of associated keywords with a line item"
+        "additionalProperties": false,
+        "description": "Resource object containing keywords associated with a line item."
       },
-      "RetailMediaExternalv1ProblemDetails": {
+      "RmcaCommonProblem": {
         "type": "object",
         "properties": {
-          "traceIdentifier": {
+          "traceId": {
             "type": "string",
+            "description": "The request correlation ID this problem comes from.",
             "nullable": true
           },
-          "code": {
+          "type": {
+            "enum": [
+              "unknown",
+              "access-control",
+              "authentication",
+              "authorization",
+              "availability",
+              "deprecation",
+              "quota",
+              "validation"
+            ],
             "type": "string",
+            "description": "The problem's category.",
             "nullable": true
           },
-          "source": {
-            "type": "object",
-            "additionalProperties": {
-              "type": "string"
-            },
+          "code": {
+            "type": "string",
+            "description": "A machine-readable  error code, expressed as a string value.",
             "nullable": true
           },
-          "stackTrace": {
+          "instance": {
             "type": "string",
+            "description": "A URI that identifies the specific occurrence of the problem.",
             "nullable": true
           },
-          "type": {
+          "title": {
             "type": "string",
+            "description": "A short human-readable description of the problem type",
             "nullable": true
           },
-          "title": {
+          "detail": {
             "type": "string",
+            "description": "A human-readable explanation specific to this occurrence of the problem",
             "nullable": true
           },
-          "status": {
-            "type": "integer",
-            "format": "int32",
+          "source": {
+            "type": "object",
+            "additionalProperties": {
+              "type": "string"
+            },
+            "description": "A machine-readable structure to reference to the exact location(s) causing the error(s)",
             "nullable": true
           },
-          "detail": {
+          "stackTrace": {
             "type": "string",
             "nullable": true
           },
-          "instance": {
-            "type": "string",
+          "status": {
+            "type": "integer",
+            "description": "The problem's HTTP Status code.",
+            "format": "int32",
             "nullable": true
           }
         },
-        "additionalProperties": {
-          "type": "object"
-        },
-        "description": "Datamodel for common errors and warnings"
+        "additionalProperties": { },
+        "description": "Common problem object."
       },
-      "RetailMediaExternalv1ProposalStatusModelResource": {
-        "required": [
-          "type"
-        ],
+      "ProposalStatusModelResource": {
         "type": "object",
         "properties": {
           "id": {
@@ -5831,18 +5786,17 @@
             "nullable": true
           },
           "type": {
-            "type": "string"
+            "type": "string",
+            "nullable": true
           },
           "attributes": {
-            "$ref": "#/components/schemas/RetailMediaExternalv1ProposalStatusModel"
+            "$ref": "#/components/schemas/ProposalStatusModel"
           }
         },
-        "description": "Wrapper for the proposal status"
+        "additionalProperties": false,
+        "description": "Resource object containing the state of a proposal in the context of a line item."
       },
-      "RetailMediaExternalv1AddRemoveKeywordsModelResource": {
-        "required": [
-          "type"
-        ],
+      "AddRemoveKeywordsModelResource": {
         "type": "object",
         "properties": {
           "id": {
@@ -5850,18 +5804,17 @@
             "nullable": true
           },
           "type": {
-            "type": "string"
+            "type": "string",
+            "nullable": true
           },
           "attributes": {
-            "$ref": "#/components/schemas/RetailMediaExternalv1AddRemoveKeywordsModel"
+            "$ref": "#/components/schemas/AddRemoveKeywordsModel"
           }
         },
-        "description": "Resource wrapper the keyword add and remove datamodel"
+        "additionalProperties": false,
+        "description": "Resource object containing keywords to be added or removed from a line item"
       },
-      "RetailMediaExternalv1SetBidsModelResource": {
-        "required": [
-          "type"
-        ],
+      "SetBidsModelResource": {
         "type": "object",
         "properties": {
           "id": {
@@ -5869,22 +5822,27 @@
             "nullable": true
           },
           "type": {
-            "type": "string"
+            "type": "string",
+            "nullable": true
           },
           "attributes": {
-            "$ref": "#/components/schemas/RetailMediaExternalv1SetBidsModel"
+            "$ref": "#/components/schemas/SetBidsModel"
           }
         },
-        "description": "Wrapper of the Set Bids datamodel"
+        "additionalProperties": false,
+        "description": "Resource object containing keywords and their associated bid overrides"
       },
-      "RetailMediaExternalv1KeywordsModel": {
+      "KeywordsModel": {
         "type": "object",
         "properties": {
           "keywords": {
-            "$ref": "#/components/schemas/RetailMediaExternalv1KeywordDataModel"
+            "type": "object",
+            "additionalProperties": {
+              "$ref": "#/components/schemas/KeywordDataModel"
+            },
+            "nullable": true
           },
           "rank": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
               "type": "string"
@@ -5892,43 +5850,20 @@
             "nullable": true
           }
         },
-        "description": "Datamodel representing keywords associated with a line item"
+        "additionalProperties": false,
+        "description": "The keywords associated with a line item."
       },
-      "RetailMediaExternalv1ProposalStatusModel": {
-        "required": [
-          "negotiationState",
-          "bookingStatus",
-          "runnableStatus"
-        ],
+      "ProposalStatusModel": {
         "type": "object",
         "properties": {
           "negotiationState": {
-            "enum": [
-              "Invalid",
-              "Modified",
-              "Submitted",
-              "Reviewed",
-              "Approved"
-            ],
-            "type": "string"
+            "$ref": "#/components/schemas/NegotiationStateModel"
           },
           "bookingStatus": {
-            "enum": [
-              "NotSubmitted",
-              "Submitted",
-              "Rejected",
-              "Approved"
-            ],
-            "type": "string"
+            "$ref": "#/components/schemas/ApprovalStatusModel"
           },
           "runnableStatus": {
-            "enum": [
-              "NotSubmitted",
-              "Submitted",
-              "Rejected",
-              "Approved"
-            ],
-            "type": "string"
+            "$ref": "#/components/schemas/ApprovalStatusModel"
           },
           "comment": {
             "type": "string",
@@ -5945,59 +5880,45 @@
             "nullable": true
           }
         },
-        "description": "The proposal status 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."
+        "additionalProperties": false,
+        "description": "The state of a proposal in the context of a line item."
       },
-      "RetailMediaExternalv1AddRemoveKeywordsModel": {
+      "AddRemoveKeywordsModel": {
         "type": "object",
         "properties": {
           "keywords": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/RetailMediaExternalv1AddRemoveKeywordModel"
+              "$ref": "#/components/schemas/AddRemoveKeywordModel"
             },
             "nullable": true
           }
         },
+        "additionalProperties": false,
         "description": "Data model containing keywords to be added or removed from a line item"
       },
-      "RetailMediaExternalv1SetBidsModel": {
+      "SetBidsModel": {
         "type": "object",
         "properties": {
           "keywords": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/RetailMediaExternalv1SetBidModel"
+              "$ref": "#/components/schemas/SetBidModel"
             },
             "nullable": true
           }
         },
-        "description": "Data model containing keywords and bid overrides to associate to them"
+        "additionalProperties": false,
+        "description": "Data model containing keywords and their associated bid overrides"
       },
-      "RetailMediaExternalv1KeywordDataModel": {
+      "KeywordDataModel": {
         "type": "object",
         "properties": {
           "reviewState": {
-            "enum": [
-              "InReview",
-              "Recommended",
-              "Approved",
-              "AutoApproved",
-              "Rejected",
-              "AutoRejected"
-            ],
-            "type": "string",
-            "nullable": true
+            "$ref": "#/components/schemas/ReviewStateModel"
           },
           "matchType": {
-            "enum": [
-              "PositiveExactMatch",
-              "NegativeExactMatch",
-              "NegativeBroadMatch"
-            ],
-            "type": "string",
-            "nullable": true
+            "$ref": "#/components/schemas/MatchTypeModel"
           },
           "bid": {
             "type": "number",
@@ -6005,7 +5926,7 @@
             "nullable": true
           },
           "inputKeywords": {
-            "$ref": "#/components/schemas/RetailMediaExternalv1InputKeywordsModel"
+            "$ref": "#/components/schemas/InputKeywordsModel"
           },
           "createdAt": {
             "type": "string",
@@ -6018,9 +5939,31 @@
             "nullable": true
           }
         },
-        "description": "Details for a specific keyword"
+        "additionalProperties": false,
+        "description": "A single keyword and associated bid override"
       },
-      "RetailMediaExternalv1AddRemoveKeywordModel": {
+      "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": {
@@ -6030,22 +5973,17 @@
             "nullable": true
           },
           "matchType": {
-            "enum": [
-              "PositiveExactMatch",
-              "NegativeExactMatch",
-              "NegativeBroadMatch"
-            ],
-            "type": "string",
-            "nullable": true
+            "$ref": "#/components/schemas/MatchTypeModel"
           },
           "isDeleted": {
             "type": "boolean",
             "nullable": true
           }
         },
+        "additionalProperties": false,
         "description": "A single keyword to be added or removed"
       },
-      "RetailMediaExternalv1SetBidModel": {
+      "SetBidModel": {
         "type": "object",
         "properties": {
           "phrase": {
@@ -6060,13 +5998,34 @@
             "nullable": true
           }
         },
+        "additionalProperties": false,
         "description": "A single keyword and associated bid override"
       },
-      "RetailMediaExternalv1InputKeywordsModel": {
+      "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": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
               "type": "string"
@@ -6074,7 +6033,6 @@
             "nullable": true
           },
           "negativeExact": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
               "type": "string"
@@ -6082,7 +6040,6 @@
             "nullable": true
           },
           "positiveExact": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
               "type": "string"
@@ -6090,7 +6047,8 @@
             "nullable": true
           }
         },
-        "description": "Input values associated with a keyword"
+        "additionalProperties": false,
+        "description": "The keywords to be added or removed from a line item."
       },
       "Creative202110ListResponse": {
         "type": "object",
@@ -7511,20 +7469,24 @@
           },
           "campaignType": {
             "enum": [
+              "all",
               "sponsoredProducts",
               "onSiteDisplays"
             ],
             "type": "string",
             "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
           },
           "format": {
@@ -7557,10 +7519,10 @@
           },
           "clickAttributionWindow": {
             "enum": [
+              "none",
               "7D",
               "14D",
-              "30D",
-              "none"
+              "30D"
             ],
             "type": "string",
             "description": "Click attribution window",
@@ -7569,11 +7531,11 @@
           },
           "viewAttributionWindow": {
             "enum": [
+              "none",
               "1D",
               "7D",
               "14D",
-              "30D",
-              "none"
+              "30D"
             ],
             "type": "string",
             "description": "View attribution window",
@@ -7591,19 +7553,20 @@
                 "campaignId",
                 "campaignName",
                 "campaignTypeName",
-                "advProductCategory",
-                "advProductId",
-                "advProductName",
-                "brandId",
-                "brandName",
                 "lineItemId",
                 "lineItemName",
                 "retailerId",
                 "retailerName",
-                "keyword",
-                "pageTypeName",
+                "brandId",
+                "brandName",
+                "advProductCategory",
+                "advProductId",
+                "advProductName",
                 "salesChannel",
-                "environment"
+                "environment",
+                "pageTypeName",
+                "keyword",
+                "searchTerm"
               ],
               "type": "string"
             },
@@ -7627,6 +7590,14 @@
                 "cpo",
                 "cpm",
                 "roas",
+                "videoViews",
+                "videosStarted",
+                "videosPlayedTo25",
+                "videosPlayedTo50",
+                "videosPlayedTo75",
+                "videosPlayedTo100",
+                "videoPlayingRate",
+                "videoCompletionRate",
                 "uniqueVisitors",
                 "frequency"
               ],
@@ -7676,20 +7647,24 @@
           },
           "campaignType": {
             "enum": [
+              "all",
               "sponsoredProducts",
               "onSiteDisplays"
             ],
             "type": "string",
             "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
           },
           "format": {
@@ -7722,10 +7697,10 @@
           },
           "clickAttributionWindow": {
             "enum": [
+              "none",
               "7D",
               "14D",
-              "30D",
-              "none"
+              "30D"
             ],
             "type": "string",
             "description": "Click attribution window",
@@ -7734,11 +7709,11 @@
           },
           "viewAttributionWindow": {
             "enum": [
+              "none",
               "1D",
               "7D",
               "14D",
-              "30D",
-              "none"
+              "30D"
             ],
             "type": "string",
             "description": "View attribution window",
@@ -7756,19 +7731,20 @@
                 "campaignId",
                 "campaignName",
                 "campaignTypeName",
-                "advProductCategory",
-                "advProductId",
-                "advProductName",
-                "brandId",
-                "brandName",
                 "lineItemId",
                 "lineItemName",
                 "retailerId",
                 "retailerName",
-                "keyword",
-                "pageTypeName",
+                "brandId",
+                "brandName",
+                "advProductCategory",
+                "advProductId",
+                "advProductName",
                 "salesChannel",
-                "environment"
+                "environment",
+                "pageTypeName",
+                "keyword",
+                "searchTerm"
               ],
               "type": "string"
             },
@@ -7792,6 +7768,14 @@
                 "cpo",
                 "cpm",
                 "roas",
+                "videoViews",
+                "videosStarted",
+                "videosPlayedTo25",
+                "videosPlayedTo50",
+                "videosPlayedTo75",
+                "videosPlayedTo100",
+                "videoPlayingRate",
+                "videoCompletionRate",
                 "uniqueVisitors",
                 "frequency"
               ],
@@ -7860,6 +7844,41 @@
             "description": "Type of revenue",
             "nullable": true
           },
+          "soldBy": {
+            "enum": [
+              "directSold",
+              "indirectSold",
+              "privateMarket"
+            ],
+            "type": "string",
+            "description": "Filter on the seller: Indirect Sold, Direct Sold or Private Market",
+            "nullable": true
+          },
+          "buyType": {
+            "enum": [
+              "auction",
+              "preferredDeals",
+              "sponsorship"
+            ],
+            "type": "string",
+            "description": "Filter on buy type: Auction, Preferred Deals or Sponsorship",
+            "nullable": true
+          },
+          "skuRelations": {
+            "type": "array",
+            "items": {
+              "enum": [
+                "sameSku",
+                "sameParentSku",
+                "sameCategory",
+                "sameBrand",
+                "sameSeller"
+              ],
+              "type": "string"
+            },
+            "description": "Filter on sku relations: Same SKU, Same Parent SKU, Same Category, Same Brand or Same Seller",
+            "nullable": true
+          },
           "format": {
             "enum": [
               "json",
@@ -7871,31 +7890,34 @@
             "description": "Format of the output",
             "nullable": true
           },
-          "soldBy": {
+          "campaignType": {
             "enum": [
-              "directSold",
-              "indirectSold",
-              "privateMarket"
+              "all",
+              "sponsoredProducts",
+              "onSiteDisplays"
             ],
             "type": "string",
-            "description": "Filter on the seller: indirect, direct or private market",
+            "description": "Filter the type of campaigns to report on: sponsoredProducts or onSiteDisplays",
+            "default": "all",
             "nullable": true
           },
-          "campaignSubType": {
+          "salesChannel": {
             "enum": [
-              "auctionAndPreferred",
-              "lockout"
+              "all",
+              "offline",
+              "online"
             ],
             "type": "string",
-            "description": "Filter on campaign subType : Auction and Preferred Deals or Lockout campaign",
+            "description": "Filter on specific sales channel: offline or online",
+            "default": "all",
             "nullable": true
           },
           "clickAttributionWindow": {
             "enum": [
+              "none",
               "7D",
               "14D",
-              "30D",
-              "none"
+              "30D"
             ],
             "type": "string",
             "description": "Click attribution window",
@@ -7904,53 +7926,73 @@
           },
           "viewAttributionWindow": {
             "enum": [
+              "none",
               "1D",
               "7D",
               "14D",
-              "30D",
-              "none"
+              "30D"
             ],
             "type": "string",
             "description": "View attribution window",
             "default": "none",
             "nullable": true
           },
-          "campaignType": {
-            "enum": [
-              "sponsoredProducts",
-              "onSiteDisplays"
-            ],
-            "type": "string",
-            "description": "Filter the type of campaigns to report on: sponsoredProducts or onSiteDisplays",
-            "nullable": true
-          },
-          "salesChannel": {
-            "enum": [
-              "offline",
-              "online"
-            ],
-            "type": "string",
-            "description": "Filter on specific sales channel: offline or online",
-            "nullable": true
-          },
           "dimensions": {
             "type": "array",
             "items": {
               "enum": [
                 "date",
-                "campaignId",
-                "campaignName",
+                "hour",
+                "parentAccount",
                 "accountId",
                 "accountName",
-                "environment",
-                "advProductCategory",
+                "accountTypeName",
+                "campaignId",
+                "campaignName",
+                "campaignTypeName",
+                "campaignStartDate",
+                "campaignEndDate",
+                "lineItemId",
+                "lineItemName",
+                "lineItemStartDate",
+                "lineItemEndDate",
+                "lineItemStatus",
+                "retailerId",
+                "retailerName",
                 "brandId",
                 "brandName",
+                "placementId",
+                "placementName",
                 "pageTypeName",
+                "environment",
+                "pageCategory",
+                "advProductId",
                 "advProductName",
                 "advProductGtin",
                 "advProductMpn",
-                "advProductId"
+                "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"
             },
@@ -7961,17 +8003,39 @@
             "type": "array",
             "items": {
               "enum": [
+                "numberOfCampaigns",
+                "numberOfLineItems",
+                "numberOfSkus",
+                "skuPrice",
+                "pageViews",
                 "impressions",
+                "productClicks",
+                "placementClicks",
                 "clicks",
-                "spend",
                 "sales",
                 "units",
-                "cpo",
-                "roas",
+                "transactions",
+                "assistedSales",
+                "assistedUnits",
                 "openAuctionRevenue",
                 "preferredDealsRevenue",
-                "avgCpc",
-                "avgCpm"
+                "ctr",
+                "cr",
+                "cpc",
+                "cpm",
+                "roas",
+                "workingMedia",
+                "netRevenue",
+                "videoViews",
+                "videosStarted",
+                "videosPlayedTo25",
+                "videosPlayedTo50",
+                "videosPlayedTo75",
+                "videosPlayedTo100",
+                "videoPlayingRate",
+                "videoCompletionRate",
+                "uniqueVisitors",
+                "frequency"
               ],
               "type": "string"
             },
diff --git a/api-specifications/retailmedia_2024-01.json b/api-specifications/retailmedia_2024-01.json
index 7c08fa1..821c077 100644
--- a/api-specifications/retailmedia_2024-01.json
+++ b/api-specifications/retailmedia_2024-01.json
@@ -700,7 +700,7 @@
           {
             "name": "id",
             "in": "path",
-            "description": "Long external id of the associated line item",
+            "description": "ID of the line item",
             "required": true,
             "style": "simple",
             "schema": {
@@ -712,19 +712,9 @@
           "200": {
             "description": "Success",
             "content": {
-              "text/plain": {
-                "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1KeywordsModelResponse"
-                }
-              },
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1KeywordsModelResponse"
-                }
-              },
-              "text/json": {
-                "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1KeywordsModelResponse"
+                  "$ref": "#/components/schemas/KeywordsModelResponse"
                 }
               }
             }
@@ -732,9 +722,11 @@
           "400": {
             "description": "Bad Request",
             "content": {
-              "text/plain": { },
-              "application/json": { },
-              "text/json": { }
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/ResourceOutcome"
+                }
+              }
             }
           }
         }
@@ -745,13 +737,13 @@
         "tags": [
           "Campaign"
         ],
-        "description": "Add or Remove keywords from the associated line item in bulk",
+        "description": "Add or Remove keywords from the line item in bulk",
         "operationId": "AddRemoveKeywords",
         "parameters": [
           {
             "name": "id",
             "in": "path",
-            "description": "Long external id of the associated line item",
+            "description": "ID of the line item",
             "required": true,
             "style": "simple",
             "schema": {
@@ -760,33 +752,21 @@
           }
         ],
         "requestBody": {
-          "description": "Object containing keywords to be added or removed",
           "content": {
             "application/json": {
               "schema": {
-                "$ref": "#/components/schemas/RetailMediaExternalv1AddRemoveKeywordsModelRequest"
+                "$ref": "#/components/schemas/AddRemoveKeywordsModelRequest"
               }
             }
-          },
-          "x-bodyName": "keywords"
+          }
         },
         "responses": {
           "200": {
             "description": "Success",
             "content": {
-              "text/plain": {
-                "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ResourceOutcome"
-                }
-              },
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ResourceOutcome"
-                }
-              },
-              "text/json": {
-                "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ResourceOutcome"
+                  "$ref": "#/components/schemas/ResourceOutcome"
                 }
               }
             }
@@ -794,9 +774,11 @@
           "400": {
             "description": "Bad Request",
             "content": {
-              "text/plain": { },
-              "application/json": { },
-              "text/json": { }
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/ResourceOutcome"
+                }
+              }
             }
           }
         }
@@ -813,7 +795,7 @@
           {
             "name": "id",
             "in": "path",
-            "description": "Long external id of the associated line item",
+            "description": "ID of the line item",
             "required": true,
             "style": "simple",
             "schema": {
@@ -822,33 +804,21 @@
           }
         ],
         "requestBody": {
-          "description": "Object containing a list of bid overrides for associated keywords",
           "content": {
             "application/json": {
               "schema": {
-                "$ref": "#/components/schemas/RetailMediaExternalv1SetBidsModelRequest"
+                "$ref": "#/components/schemas/SetBidsModelRequest"
               }
             }
-          },
-          "x-bodyName": "keywords"
+          }
         },
         "responses": {
           "200": {
             "description": "Success",
             "content": {
-              "text/plain": {
-                "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ResourceOutcome"
-                }
-              },
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ResourceOutcome"
-                }
-              },
-              "text/json": {
-                "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ResourceOutcome"
+                  "$ref": "#/components/schemas/ResourceOutcome"
                 }
               }
             }
@@ -856,9 +826,11 @@
           "400": {
             "description": "Bad Request",
             "content": {
-              "text/plain": { },
-              "application/json": { },
-              "text/json": { }
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/ResourceOutcome"
+                }
+              }
             }
           }
         }
@@ -869,13 +841,13 @@
         "tags": [
           "Campaign"
         ],
-        "description": "Fetch the status of a proposal to modify a Preferred Deal Line Item.",
+        "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": "id",
             "in": "path",
-            "description": "The external id of a line item.",
+            "description": "ID of the line item",
             "required": true,
             "style": "simple",
             "schema": {
@@ -887,19 +859,9 @@
           "200": {
             "description": "Success",
             "content": {
-              "text/plain": {
-                "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ProposalStatusModelResponse"
-                }
-              },
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ProposalStatusModelResponse"
-                }
-              },
-              "text/json": {
-                "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ProposalStatusModelResponse"
+                  "$ref": "#/components/schemas/ProposalStatusModelResponse"
                 }
               }
             }
@@ -907,25 +869,21 @@
           "400": {
             "description": "Bad Request",
             "content": {
-              "text/plain": { },
-              "application/json": { },
-              "text/json": { }
-            }
-          },
-          "500": {
-            "description": "Server Error",
-            "content": {
-              "text/plain": { },
-              "application/json": { },
-              "text/json": { }
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/ResourceOutcome"
+                }
+              }
             }
           },
           "403": {
             "description": "Forbidden",
             "content": {
-              "text/plain": { },
-              "application/json": { },
-              "text/json": { }
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/ResourceOutcome"
+                }
+              }
             }
           }
         }
@@ -936,13 +894,13 @@
         "tags": [
           "Campaign"
         ],
-        "description": "Submit a proposal to modify a Preferred Deal Line Item for review.",
+        "description": "Only the components of the Line Item that are in a valid state will be reviewed.",
         "operationId": "SubmitProposal",
         "parameters": [
           {
             "name": "id",
             "in": "path",
-            "description": "The external id of a line item.",
+            "description": "ID of the line item",
             "required": true,
             "style": "simple",
             "schema": {
@@ -954,19 +912,9 @@
           "200": {
             "description": "Success",
             "content": {
-              "text/plain": {
-                "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ProposalStatusModelResponse"
-                }
-              },
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ProposalStatusModelResponse"
-                }
-              },
-              "text/json": {
-                "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ProposalStatusModelResponse"
+                  "$ref": "#/components/schemas/ProposalStatusModelResponse"
                 }
               }
             }
@@ -974,25 +922,21 @@
           "400": {
             "description": "Bad Request",
             "content": {
-              "text/plain": { },
-              "application/json": { },
-              "text/json": { }
-            }
-          },
-          "500": {
-            "description": "Server Error",
-            "content": {
-              "text/plain": { },
-              "application/json": { },
-              "text/json": { }
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/ResourceOutcome"
+                }
+              }
             }
           },
           "403": {
             "description": "Forbidden",
             "content": {
-              "text/plain": { },
-              "application/json": { },
-              "text/json": { }
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/ResourceOutcome"
+                }
+              }
             }
           }
         }
@@ -5282,7 +5226,7 @@
             "readOnly": true
           }
         },
-        "description": "List of responses"
+        "description": "A top-level object that encapsulates a Criteo API response for several entities and metadata"
       },
       "RmLegacyAudienceCreateEntityV1Response": {
         "type": "object",
@@ -5404,7 +5348,7 @@
             "nullable": true
           }
         },
-        "description": "Legacy resource"
+        "description": "A class that represents a domain entity exposed by an API"
       },
       "RmLegacyAudienceCreateEntityV1Resource": {
         "type": "object",
@@ -5836,106 +5780,102 @@
         },
         "description": "User Behavior Details."
       },
-      "RetailMediaExternalv1KeywordsModelResponse": {
+      "KeywordsModelResponse": {
         "type": "object",
         "properties": {
-          "data": {
-            "$ref": "#/components/schemas/RetailMediaExternalv1KeywordsModelResource"
-          },
           "errors": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/RetailMediaExternalv1ProblemDetails"
+              "$ref": "#/components/schemas/RmcaCommonProblem"
             },
             "nullable": true,
             "readOnly": true
           },
           "warnings": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/RetailMediaExternalv1ProblemDetails"
+              "$ref": "#/components/schemas/RmcaCommonProblem"
             },
             "nullable": true,
             "readOnly": true
+          },
+          "data": {
+            "$ref": "#/components/schemas/KeywordsModelResource"
           }
         },
-        "description": "Response object containing keywords associated with a line item"
+        "additionalProperties": false,
+        "description": "Response object containing keywords associated with a line item."
       },
-      "RetailMediaExternalv1ResourceOutcome": {
+      "ResourceOutcome": {
         "type": "object",
         "properties": {
           "errors": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/RetailMediaExternalv1ProblemDetails"
+              "$ref": "#/components/schemas/RmcaCommonProblem"
             },
             "nullable": true,
             "readOnly": true
           },
           "warnings": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/RetailMediaExternalv1ProblemDetails"
+              "$ref": "#/components/schemas/RmcaCommonProblem"
             },
             "nullable": true,
             "readOnly": true
           }
         },
-        "description": "A response object containing errors or warnings if required"
+        "additionalProperties": false,
+        "description": "Outcome object containing errors and warnings."
       },
-      "RetailMediaExternalv1ProposalStatusModelResponse": {
+      "ProposalStatusModelResponse": {
         "type": "object",
         "properties": {
-          "data": {
-            "$ref": "#/components/schemas/RetailMediaExternalv1ProposalStatusModelResource"
-          },
           "errors": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/RetailMediaExternalv1ProblemDetails"
+              "$ref": "#/components/schemas/RmcaCommonProblem"
             },
             "nullable": true,
             "readOnly": true
           },
           "warnings": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/RetailMediaExternalv1ProblemDetails"
+              "$ref": "#/components/schemas/RmcaCommonProblem"
             },
             "nullable": true,
             "readOnly": true
+          },
+          "data": {
+            "$ref": "#/components/schemas/ProposalStatusModelResource"
           }
         },
-        "description": "Wrapper for the proposal status resource"
+        "additionalProperties": false,
+        "description": "Response object containing the state of a proposal in the context of a line item."
       },
-      "RetailMediaExternalv1AddRemoveKeywordsModelRequest": {
+      "AddRemoveKeywordsModelRequest": {
         "type": "object",
         "properties": {
           "data": {
-            "$ref": "#/components/schemas/RetailMediaExternalv1AddRemoveKeywordsModelResource"
+            "$ref": "#/components/schemas/AddRemoveKeywordsModelResource"
           }
         },
+        "additionalProperties": false,
         "description": "Request object to add or remove keywords from a line item"
       },
-      "RetailMediaExternalv1SetBidsModelRequest": {
+      "SetBidsModelRequest": {
         "type": "object",
         "properties": {
           "data": {
-            "$ref": "#/components/schemas/RetailMediaExternalv1SetBidsModelResource"
+            "$ref": "#/components/schemas/SetBidsModelResource"
           }
         },
-        "description": "Request to set bid overrides for specified keywords on a line item"
+        "additionalProperties": false,
+        "description": "Request object to set bid overrides for keywords associated with a line item"
       },
-      "RetailMediaExternalv1KeywordsModelResource": {
-        "required": [
-          "type"
-        ],
+      "KeywordsModelResource": {
         "type": "object",
         "properties": {
           "id": {
@@ -5943,67 +5883,82 @@
             "nullable": true
           },
           "type": {
-            "type": "string"
+            "type": "string",
+            "nullable": true
           },
           "attributes": {
-            "$ref": "#/components/schemas/RetailMediaExternalv1KeywordsModel"
+            "$ref": "#/components/schemas/KeywordsModel"
           }
         },
-        "description": "Resource wrapper of associated keywords with a line item"
+        "additionalProperties": false,
+        "description": "Resource object containing keywords associated with a line item."
       },
-      "RetailMediaExternalv1ProblemDetails": {
+      "RmcaCommonProblem": {
         "type": "object",
         "properties": {
-          "traceIdentifier": {
+          "traceId": {
             "type": "string",
+            "description": "The request correlation ID this problem comes from.",
             "nullable": true
           },
-          "code": {
+          "type": {
+            "enum": [
+              "unknown",
+              "access-control",
+              "authentication",
+              "authorization",
+              "availability",
+              "deprecation",
+              "quota",
+              "validation"
+            ],
             "type": "string",
+            "description": "The problem's category.",
             "nullable": true
           },
-          "source": {
-            "type": "object",
-            "additionalProperties": {
-              "type": "string"
-            },
+          "code": {
+            "type": "string",
+            "description": "A machine-readable  error code, expressed as a string value.",
             "nullable": true
           },
-          "stackTrace": {
+          "instance": {
             "type": "string",
+            "description": "A URI that identifies the specific occurrence of the problem.",
             "nullable": true
           },
-          "type": {
+          "title": {
             "type": "string",
+            "description": "A short human-readable description of the problem type",
             "nullable": true
           },
-          "title": {
+          "detail": {
             "type": "string",
+            "description": "A human-readable explanation specific to this occurrence of the problem",
             "nullable": true
           },
-          "status": {
-            "type": "integer",
-            "format": "int32",
+          "source": {
+            "type": "object",
+            "additionalProperties": {
+              "type": "string"
+            },
+            "description": "A machine-readable structure to reference to the exact location(s) causing the error(s)",
             "nullable": true
           },
-          "detail": {
+          "stackTrace": {
             "type": "string",
             "nullable": true
           },
-          "instance": {
-            "type": "string",
+          "status": {
+            "type": "integer",
+            "description": "The problem's HTTP Status code.",
+            "format": "int32",
             "nullable": true
           }
         },
-        "additionalProperties": {
-          "type": "object"
-        },
-        "description": "Datamodel for common errors and warnings"
+        "additionalProperties": { },
+        "description": "Common problem object."
       },
-      "RetailMediaExternalv1ProposalStatusModelResource": {
-        "required": [
-          "type"
-        ],
+      "ProposalStatusModelResource": {
         "type": "object",
         "properties": {
           "id": {
@@ -6011,18 +5966,17 @@
             "nullable": true
           },
           "type": {
-            "type": "string"
+            "type": "string",
+            "nullable": true
           },
           "attributes": {
-            "$ref": "#/components/schemas/RetailMediaExternalv1ProposalStatusModel"
+            "$ref": "#/components/schemas/ProposalStatusModel"
           }
         },
-        "description": "Wrapper for the proposal status"
+        "additionalProperties": false,
+        "description": "Resource object containing the state of a proposal in the context of a line item."
       },
-      "RetailMediaExternalv1AddRemoveKeywordsModelResource": {
-        "required": [
-          "type"
-        ],
+      "AddRemoveKeywordsModelResource": {
         "type": "object",
         "properties": {
           "id": {
@@ -6030,18 +5984,17 @@
             "nullable": true
           },
           "type": {
-            "type": "string"
+            "type": "string",
+            "nullable": true
           },
           "attributes": {
-            "$ref": "#/components/schemas/RetailMediaExternalv1AddRemoveKeywordsModel"
+            "$ref": "#/components/schemas/AddRemoveKeywordsModel"
           }
         },
-        "description": "Resource wrapper the keyword add and remove datamodel"
+        "additionalProperties": false,
+        "description": "Resource object containing keywords to be added or removed from a line item"
       },
-      "RetailMediaExternalv1SetBidsModelResource": {
-        "required": [
-          "type"
-        ],
+      "SetBidsModelResource": {
         "type": "object",
         "properties": {
           "id": {
@@ -6049,22 +6002,27 @@
             "nullable": true
           },
           "type": {
-            "type": "string"
+            "type": "string",
+            "nullable": true
           },
           "attributes": {
-            "$ref": "#/components/schemas/RetailMediaExternalv1SetBidsModel"
+            "$ref": "#/components/schemas/SetBidsModel"
           }
         },
-        "description": "Wrapper of the Set Bids datamodel"
+        "additionalProperties": false,
+        "description": "Resource object containing keywords and their associated bid overrides"
       },
-      "RetailMediaExternalv1KeywordsModel": {
+      "KeywordsModel": {
         "type": "object",
         "properties": {
           "keywords": {
-            "$ref": "#/components/schemas/RetailMediaExternalv1KeywordDataModel"
+            "type": "object",
+            "additionalProperties": {
+              "$ref": "#/components/schemas/KeywordDataModel"
+            },
+            "nullable": true
           },
           "rank": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
               "type": "string"
@@ -6072,43 +6030,20 @@
             "nullable": true
           }
         },
-        "description": "Datamodel representing keywords associated with a line item"
+        "additionalProperties": false,
+        "description": "The keywords associated with a line item."
       },
-      "RetailMediaExternalv1ProposalStatusModel": {
-        "required": [
-          "negotiationState",
-          "bookingStatus",
-          "runnableStatus"
-        ],
+      "ProposalStatusModel": {
         "type": "object",
         "properties": {
           "negotiationState": {
-            "enum": [
-              "Invalid",
-              "Modified",
-              "Submitted",
-              "Reviewed",
-              "Approved"
-            ],
-            "type": "string"
+            "$ref": "#/components/schemas/NegotiationStateModel"
           },
           "bookingStatus": {
-            "enum": [
-              "NotSubmitted",
-              "Submitted",
-              "Rejected",
-              "Approved"
-            ],
-            "type": "string"
+            "$ref": "#/components/schemas/ApprovalStatusModel"
           },
           "runnableStatus": {
-            "enum": [
-              "NotSubmitted",
-              "Submitted",
-              "Rejected",
-              "Approved"
-            ],
-            "type": "string"
+            "$ref": "#/components/schemas/ApprovalStatusModel"
           },
           "comment": {
             "type": "string",
@@ -6125,59 +6060,45 @@
             "nullable": true
           }
         },
-        "description": "The proposal status 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."
+        "additionalProperties": false,
+        "description": "The state of a proposal in the context of a line item."
       },
-      "RetailMediaExternalv1AddRemoveKeywordsModel": {
+      "AddRemoveKeywordsModel": {
         "type": "object",
         "properties": {
           "keywords": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/RetailMediaExternalv1AddRemoveKeywordModel"
+              "$ref": "#/components/schemas/AddRemoveKeywordModel"
             },
             "nullable": true
           }
         },
+        "additionalProperties": false,
         "description": "Data model containing keywords to be added or removed from a line item"
       },
-      "RetailMediaExternalv1SetBidsModel": {
+      "SetBidsModel": {
         "type": "object",
         "properties": {
           "keywords": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/RetailMediaExternalv1SetBidModel"
+              "$ref": "#/components/schemas/SetBidModel"
             },
             "nullable": true
           }
         },
-        "description": "Data model containing keywords and bid overrides to associate to them"
+        "additionalProperties": false,
+        "description": "Data model containing keywords and their associated bid overrides"
       },
-      "RetailMediaExternalv1KeywordDataModel": {
+      "KeywordDataModel": {
         "type": "object",
         "properties": {
           "reviewState": {
-            "enum": [
-              "InReview",
-              "Recommended",
-              "Approved",
-              "AutoApproved",
-              "Rejected",
-              "AutoRejected"
-            ],
-            "type": "string",
-            "nullable": true
+            "$ref": "#/components/schemas/ReviewStateModel"
           },
           "matchType": {
-            "enum": [
-              "PositiveExactMatch",
-              "NegativeExactMatch",
-              "NegativeBroadMatch"
-            ],
-            "type": "string",
-            "nullable": true
+            "$ref": "#/components/schemas/MatchTypeModel"
           },
           "bid": {
             "type": "number",
@@ -6185,7 +6106,7 @@
             "nullable": true
           },
           "inputKeywords": {
-            "$ref": "#/components/schemas/RetailMediaExternalv1InputKeywordsModel"
+            "$ref": "#/components/schemas/InputKeywordsModel"
           },
           "createdAt": {
             "type": "string",
@@ -6198,9 +6119,31 @@
             "nullable": true
           }
         },
-        "description": "Details for a specific keyword"
+        "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."
       },
-      "RetailMediaExternalv1AddRemoveKeywordModel": {
+      "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": {
@@ -6210,22 +6153,17 @@
             "nullable": true
           },
           "matchType": {
-            "enum": [
-              "PositiveExactMatch",
-              "NegativeExactMatch",
-              "NegativeBroadMatch"
-            ],
-            "type": "string",
-            "nullable": true
+            "$ref": "#/components/schemas/MatchTypeModel"
           },
           "isDeleted": {
             "type": "boolean",
             "nullable": true
           }
         },
+        "additionalProperties": false,
         "description": "A single keyword to be added or removed"
       },
-      "RetailMediaExternalv1SetBidModel": {
+      "SetBidModel": {
         "type": "object",
         "properties": {
           "phrase": {
@@ -6240,13 +6178,34 @@
             "nullable": true
           }
         },
+        "additionalProperties": false,
         "description": "A single keyword and associated bid override"
       },
-      "RetailMediaExternalv1InputKeywordsModel": {
+      "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": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
               "type": "string"
@@ -6254,7 +6213,6 @@
             "nullable": true
           },
           "negativeExact": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
               "type": "string"
@@ -6262,7 +6220,6 @@
             "nullable": true
           },
           "positiveExact": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
               "type": "string"
@@ -6270,7 +6227,8 @@
             "nullable": true
           }
         },
-        "description": "Input values associated with a keyword"
+        "additionalProperties": false,
+        "description": "The keywords to be added or removed from a line item."
       },
       "Creative202110ListResponse": {
         "type": "object",
@@ -7691,20 +7649,24 @@
           },
           "campaignType": {
             "enum": [
+              "all",
               "sponsoredProducts",
               "onSiteDisplays"
             ],
             "type": "string",
             "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
           },
           "format": {
@@ -7737,10 +7699,10 @@
           },
           "clickAttributionWindow": {
             "enum": [
+              "none",
               "7D",
               "14D",
-              "30D",
-              "none"
+              "30D"
             ],
             "type": "string",
             "description": "Click attribution window",
@@ -7749,11 +7711,11 @@
           },
           "viewAttributionWindow": {
             "enum": [
+              "none",
               "1D",
               "7D",
               "14D",
-              "30D",
-              "none"
+              "30D"
             ],
             "type": "string",
             "description": "View attribution window",
@@ -7771,19 +7733,20 @@
                 "campaignId",
                 "campaignName",
                 "campaignTypeName",
-                "advProductCategory",
-                "advProductId",
-                "advProductName",
-                "brandId",
-                "brandName",
                 "lineItemId",
                 "lineItemName",
                 "retailerId",
                 "retailerName",
-                "keyword",
-                "pageTypeName",
+                "brandId",
+                "brandName",
+                "advProductCategory",
+                "advProductId",
+                "advProductName",
                 "salesChannel",
-                "environment"
+                "environment",
+                "pageTypeName",
+                "keyword",
+                "searchTerm"
               ],
               "type": "string"
             },
@@ -7807,6 +7770,14 @@
                 "cpo",
                 "cpm",
                 "roas",
+                "videoViews",
+                "videosStarted",
+                "videosPlayedTo25",
+                "videosPlayedTo50",
+                "videosPlayedTo75",
+                "videosPlayedTo100",
+                "videoPlayingRate",
+                "videoCompletionRate",
                 "uniqueVisitors",
                 "frequency"
               ],
@@ -7856,20 +7827,24 @@
           },
           "campaignType": {
             "enum": [
+              "all",
               "sponsoredProducts",
               "onSiteDisplays"
             ],
             "type": "string",
             "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
           },
           "format": {
@@ -7902,10 +7877,10 @@
           },
           "clickAttributionWindow": {
             "enum": [
+              "none",
               "7D",
               "14D",
-              "30D",
-              "none"
+              "30D"
             ],
             "type": "string",
             "description": "Click attribution window",
@@ -7914,11 +7889,11 @@
           },
           "viewAttributionWindow": {
             "enum": [
+              "none",
               "1D",
               "7D",
               "14D",
-              "30D",
-              "none"
+              "30D"
             ],
             "type": "string",
             "description": "View attribution window",
@@ -7936,19 +7911,20 @@
                 "campaignId",
                 "campaignName",
                 "campaignTypeName",
-                "advProductCategory",
-                "advProductId",
-                "advProductName",
-                "brandId",
-                "brandName",
                 "lineItemId",
                 "lineItemName",
                 "retailerId",
                 "retailerName",
-                "keyword",
-                "pageTypeName",
+                "brandId",
+                "brandName",
+                "advProductCategory",
+                "advProductId",
+                "advProductName",
                 "salesChannel",
-                "environment"
+                "environment",
+                "pageTypeName",
+                "keyword",
+                "searchTerm"
               ],
               "type": "string"
             },
@@ -7972,6 +7948,14 @@
                 "cpo",
                 "cpm",
                 "roas",
+                "videoViews",
+                "videosStarted",
+                "videosPlayedTo25",
+                "videosPlayedTo50",
+                "videosPlayedTo75",
+                "videosPlayedTo100",
+                "videoPlayingRate",
+                "videoCompletionRate",
                 "uniqueVisitors",
                 "frequency"
               ],
@@ -8040,6 +8024,41 @@
             "description": "Type of revenue",
             "nullable": true
           },
+          "soldBy": {
+            "enum": [
+              "directSold",
+              "indirectSold",
+              "privateMarket"
+            ],
+            "type": "string",
+            "description": "Filter on the seller: Indirect Sold, Direct Sold or Private Market",
+            "nullable": true
+          },
+          "buyType": {
+            "enum": [
+              "auction",
+              "preferredDeals",
+              "sponsorship"
+            ],
+            "type": "string",
+            "description": "Filter on buy type: Auction, Preferred Deals or Sponsorship",
+            "nullable": true
+          },
+          "skuRelations": {
+            "type": "array",
+            "items": {
+              "enum": [
+                "sameSku",
+                "sameParentSku",
+                "sameCategory",
+                "sameBrand",
+                "sameSeller"
+              ],
+              "type": "string"
+            },
+            "description": "Filter on sku relations: Same SKU, Same Parent SKU, Same Category, Same Brand or Same Seller",
+            "nullable": true
+          },
           "format": {
             "enum": [
               "json",
@@ -8051,31 +8070,34 @@
             "description": "Format of the output",
             "nullable": true
           },
-          "soldBy": {
+          "campaignType": {
             "enum": [
-              "directSold",
-              "indirectSold",
-              "privateMarket"
+              "all",
+              "sponsoredProducts",
+              "onSiteDisplays"
             ],
             "type": "string",
-            "description": "Filter on the seller: indirect, direct or private market",
+            "description": "Filter the type of campaigns to report on: sponsoredProducts or onSiteDisplays",
+            "default": "all",
             "nullable": true
           },
-          "campaignSubType": {
+          "salesChannel": {
             "enum": [
-              "auctionAndPreferred",
-              "lockout"
+              "all",
+              "offline",
+              "online"
             ],
             "type": "string",
-            "description": "Filter on campaign subType : Auction and Preferred Deals or Lockout campaign",
+            "description": "Filter on specific sales channel: offline or online",
+            "default": "all",
             "nullable": true
           },
           "clickAttributionWindow": {
             "enum": [
+              "none",
               "7D",
               "14D",
-              "30D",
-              "none"
+              "30D"
             ],
             "type": "string",
             "description": "Click attribution window",
@@ -8084,53 +8106,73 @@
           },
           "viewAttributionWindow": {
             "enum": [
+              "none",
               "1D",
               "7D",
               "14D",
-              "30D",
-              "none"
+              "30D"
             ],
             "type": "string",
             "description": "View attribution window",
             "default": "none",
             "nullable": true
           },
-          "campaignType": {
-            "enum": [
-              "sponsoredProducts",
-              "onSiteDisplays"
-            ],
-            "type": "string",
-            "description": "Filter the type of campaigns to report on: sponsoredProducts or onSiteDisplays",
-            "nullable": true
-          },
-          "salesChannel": {
-            "enum": [
-              "offline",
-              "online"
-            ],
-            "type": "string",
-            "description": "Filter on specific sales channel: offline or online",
-            "nullable": true
-          },
           "dimensions": {
             "type": "array",
             "items": {
               "enum": [
                 "date",
-                "campaignId",
-                "campaignName",
+                "hour",
+                "parentAccount",
                 "accountId",
                 "accountName",
-                "environment",
-                "advProductCategory",
+                "accountTypeName",
+                "campaignId",
+                "campaignName",
+                "campaignTypeName",
+                "campaignStartDate",
+                "campaignEndDate",
+                "lineItemId",
+                "lineItemName",
+                "lineItemStartDate",
+                "lineItemEndDate",
+                "lineItemStatus",
+                "retailerId",
+                "retailerName",
                 "brandId",
                 "brandName",
+                "placementId",
+                "placementName",
                 "pageTypeName",
+                "environment",
+                "pageCategory",
+                "advProductId",
                 "advProductName",
                 "advProductGtin",
                 "advProductMpn",
-                "advProductId"
+                "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"
             },
@@ -8141,17 +8183,39 @@
             "type": "array",
             "items": {
               "enum": [
+                "numberOfCampaigns",
+                "numberOfLineItems",
+                "numberOfSkus",
+                "skuPrice",
+                "pageViews",
                 "impressions",
+                "productClicks",
+                "placementClicks",
                 "clicks",
-                "spend",
                 "sales",
                 "units",
-                "cpo",
-                "roas",
+                "transactions",
+                "assistedSales",
+                "assistedUnits",
                 "openAuctionRevenue",
                 "preferredDealsRevenue",
-                "avgCpc",
-                "avgCpm"
+                "ctr",
+                "cr",
+                "cpc",
+                "cpm",
+                "roas",
+                "workingMedia",
+                "netRevenue",
+                "videoViews",
+                "videosStarted",
+                "videosPlayedTo25",
+                "videosPlayedTo50",
+                "videosPlayedTo75",
+                "videosPlayedTo100",
+                "videoPlayingRate",
+                "videoCompletionRate",
+                "uniqueVisitors",
+                "frequency"
               ],
               "type": "string"
             },
diff --git a/api-specifications/retailmedia_2023-01.json b/api-specifications/retailmedia_2024-04.json
similarity index 70%
rename from api-specifications/retailmedia_2023-01.json
rename to api-specifications/retailmedia_2024-04.json
index bb47966..147227a 100644
--- a/api-specifications/retailmedia_2023-01.json
+++ b/api-specifications/retailmedia_2024-04.json
@@ -3,7 +3,7 @@
   "info": {
     "title": "Criteo API",
     "description": "Criteo API - RetailMedia",
-    "version": "2023-01"
+    "version": "2024-04"
   },
   "servers": [
     {
@@ -11,7 +11,7 @@
     }
   ],
   "paths": {
-    "/2023-01/retail-media/me": {
+    "/2024-04/retail-media/me": {
       "get": {
         "tags": [
           "Gateway"
@@ -38,7 +38,7 @@
         }
       }
     },
-    "/2023-01/retail-media/accounts": {
+    "/2024-04/retail-media/accounts": {
       "get": {
         "tags": [
           "Campaign"
@@ -96,7 +96,7 @@
         }
       }
     },
-    "/2023-01/retail-media/accounts/{accountId}/brands": {
+    "/2024-04/retail-media/accounts/{accountId}/brands": {
       "get": {
         "tags": [
           "Campaign"
@@ -165,7 +165,7 @@
         }
       }
     },
-    "/2023-01/retail-media/accounts/{accountId}/retailers": {
+    "/2024-04/retail-media/accounts/{accountId}/retailers": {
       "get": {
         "tags": [
           "Campaign"
@@ -234,7 +234,7 @@
         }
       }
     },
-    "/2023-01/retail-media/assets": {
+    "/2024-04/retail-media/assets": {
       "post": {
         "tags": [
           "Campaign"
@@ -283,7 +283,7 @@
         }
       }
     },
-    "/2023-01/retail-media/accounts/{accountId}/audiences": {
+    "/2024-04/retail-media/accounts/{accountId}/audiences": {
       "get": {
         "tags": [
           "Audience"
@@ -486,7 +486,7 @@
         "deprecated": true
       }
     },
-    "/2023-01/retail-media/v2/accounts/{accountId}/audiences": {
+    "/2024-04/retail-media/v2/accounts/{accountId}/audiences": {
       "get": {
         "tags": [
           "Audience"
@@ -689,33 +689,42 @@
         "deprecated": true
       }
     },
-    "/2023-01/retail-media/accounts/{account-id}/creatives": {
+    "/2024-04/retail-media/line-items/{id}/keywords": {
       "get": {
         "tags": [
           "Campaign"
         ],
-        "description": "Get account creatives",
-        "operationId": "CreativesApi_GetApi202110ExternalAccountCreativesByAccountId",
+        "description": "Fetch keywords associated with the specified line item",
+        "operationId": "FetchKeywords",
         "parameters": [
           {
-            "name": "account-id",
+            "name": "id",
             "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
+            }
           }
         ],
         "responses": {
           "200": {
-            "description": "Creatives found",
+            "description": "Success",
             "content": {
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/Creative202110ListResponse"
+                  "$ref": "#/components/schemas/KeywordsModelResponse"
+                }
+              }
+            }
+          },
+          "400": {
+            "description": "Bad Request",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/ResourceOutcome"
                 }
               }
             }
@@ -723,44 +732,51 @@
         }
       }
     },
-    "/2023-01/retail-media/accounts/{accountId}/catalogs": {
+    "/2024-04/retail-media/line-items/{id}/keywords/add-remove": {
       "post": {
         "tags": [
           "Campaign"
         ],
-        "description": "Create a request for a Catalog available to the indicated account.",
-        "operationId": "CatalogApi_PostApiV1ExternalAccountCatalogsByAccountId",
+        "description": "Add or Remove keywords from the line item in bulk",
+        "operationId": "AddRemoveKeywords",
         "parameters": [
           {
-            "name": "accountId",
+            "name": "id",
             "in": "path",
-            "description": "The account to request the catalog for.",
+            "description": "ID of the line item",
             "required": true,
             "style": "simple",
             "schema": {
               "type": "string"
-            },
-            "x-nullable": false
+            }
           }
         ],
         "requestBody": {
           "content": {
             "application/json": {
               "schema": {
-                "$ref": "#/components/schemas/JsonApiRequestOfCatalogRequest"
+                "$ref": "#/components/schemas/AddRemoveKeywordsModelRequest"
               }
             }
-          },
-          "x-nullable": false,
-          "x-bodyName": "request"
+          }
         },
         "responses": {
           "200": {
-            "description": "Catalog request successfully created",
+            "description": "Success",
             "content": {
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/JsonApiSingleResponseOfCatalogStatus"
+                  "$ref": "#/components/schemas/ResourceOutcome"
+                }
+              }
+            }
+          },
+          "400": {
+            "description": "Bad Request",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/ResourceOutcome"
                 }
               }
             }
@@ -768,143 +784,104 @@
         }
       }
     },
-    "/2023-01/retail-media/catalogs/{catalogId}/output": {
-      "get": {
+    "/2024-04/retail-media/line-items/{id}/keywords/set-bid": {
+      "post": {
         "tags": [
           "Campaign"
         ],
-        "description": "Output the indicated catalog. Catalogs are only available for retrieval when their associated status request\r\nis at a Success status.\r\nProduces application/x-json-stream of v2021_07 CatalogProduct json objects.",
-        "operationId": "CatalogApi_GetApiV1ExternalCatalogOutputByCatalogId",
+        "description": "Set bid overrides for associated keywords to the given line item in bulk",
+        "operationId": "SetKeywordBids",
         "parameters": [
           {
-            "name": "catalogId",
+            "name": "id",
             "in": "path",
-            "description": "A catalog ID returned from an account catalog request.",
+            "description": "ID of the line item",
             "required": true,
             "style": "simple",
             "schema": {
               "type": "string"
-            },
-            "x-nullable": false
+            }
           }
         ],
+        "requestBody": {
+          "content": {
+            "application/json": {
+              "schema": {
+                "$ref": "#/components/schemas/SetBidsModelRequest"
+              }
+            }
+          }
+        },
         "responses": {
           "200": {
-            "description": "Catalog download initiated.",
+            "description": "Success",
             "content": {
-              "application/x-json-stream": { },
-              "application/json": { }
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/ResourceOutcome"
+                }
+              }
             }
           },
           "400": {
-            "description": "The indicated catalog is not available for retrieval, wait for a success status.",
+            "description": "Bad Request",
             "content": {
-              "application/x-json-stream": { },
-              "application/json": { }
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/ResourceOutcome"
+                }
+              }
             }
           }
         }
       }
     },
-    "/2023-01/retail-media/catalogs/{catalogId}/status": {
+    "/2024-04/retail-media/preferred-deal-line-items/{id}/proposal": {
       "get": {
         "tags": [
           "Campaign"
         ],
-        "description": "Check the status of a catalog request.",
-        "operationId": "CatalogApi_GetApiV1ExternalCatalogStatusByCatalogId",
+        "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": "catalogId",
+            "name": "id",
             "in": "path",
-            "description": "A catalog ID returned from an account catalog request.",
+            "description": "ID of the line item",
             "required": true,
             "style": "simple",
             "schema": {
               "type": "string"
-            },
-            "x-nullable": false
+            }
           }
         ],
         "responses": {
           "200": {
-            "description": "Catalog request found.",
+            "description": "Success",
             "content": {
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/JsonApiSingleResponseOfCatalogStatus"
+                  "$ref": "#/components/schemas/ProposalStatusModelResponse"
                 }
               }
             }
-          }
-        }
-      }
-    },
-    "/2023-01/retail-media/categories": {
-      "get": {
-        "tags": [
-          "Campaign"
-        ],
-        "description": "Endpoint to search categories by text and retailer.",
-        "operationId": "CategorySearchApi_GetApi202204ExternalCategories",
-        "parameters": [
-          {
-            "name": "retailerId",
-            "in": "query",
-            "description": "The retailer id for which Categories fetched",
-            "style": "form",
-            "schema": {
-              "type": "integer",
-              "format": "int32"
-            },
-            "x-nullable": false
-          },
-          {
-            "name": "textSubstring",
-            "in": "query",
-            "description": "Query string to search across Categories",
-            "style": "form",
-            "schema": {
-              "type": "string"
-            },
-            "x-nullable": false
           },
-          {
-            "name": "pageIndex",
-            "in": "query",
-            "description": "The start position in the overall list of matches. Must be zero or greater.",
-            "style": "form",
-            "schema": {
-              "maximum": 500.0,
-              "minimum": 0.0,
-              "type": "integer",
-              "format": "int32",
-              "default": 0
-            },
-            "x-nullable": false
+          "400": {
+            "description": "Bad Request",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/ResourceOutcome"
+                }
+              }
+            }
           },
-          {
-            "name": "pageSize",
-            "in": "query",
-            "description": "The maximum number of results to return with each call. Must be greater than zero.",
-            "style": "form",
-            "schema": {
-              "maximum": 100.0,
-              "minimum": 1.0,
-              "type": "integer",
-              "format": "int32",
-              "default": 100
-            },
-            "x-nullable": false
-          }
-        ],
-        "responses": {
-          "200": {
-            "description": "Categories found.",
+          "403": {
+            "description": "Forbidden",
             "content": {
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/Category202204ListResponse"
+                  "$ref": "#/components/schemas/ResourceOutcome"
                 }
               }
             }
@@ -912,128 +889,130 @@
         }
       }
     },
-    "/2023-01/retail-media/categories/{categoryId}": {
-      "get": {
+    "/2024-04/retail-media/preferred-deal-line-items/{id}/proposal/submit": {
+      "post": {
         "tags": [
           "Campaign"
         ],
-        "description": "Endpoint to search for a specific category by categoryId.",
-        "operationId": "CategorySearchApi_GetApi202204ExternalCategorieByCategoryId",
+        "description": "Only the components of the Line Item that are in a valid state will be reviewed.",
+        "operationId": "SubmitProposal",
         "parameters": [
           {
-            "name": "categoryId",
+            "name": "id",
             "in": "path",
-            "description": "ID of the desired category",
+            "description": "ID of the line item",
             "required": true,
             "style": "simple",
             "schema": {
-              "type": "integer",
-              "format": "int32"
-            },
-            "x-nullable": false
+              "type": "string"
+            }
           }
         ],
         "responses": {
           "200": {
-            "description": "Retrieval completed and category is returned.",
+            "description": "Success",
             "content": {
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/Category202204"
+                  "$ref": "#/components/schemas/ProposalStatusModelResponse"
                 }
               }
             }
           },
           "400": {
-            "description": "No IDs were passed in.",
+            "description": "Bad Request",
             "content": {
-              "application/json": { }
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/ResourceOutcome"
+                }
+              }
             }
           },
-          "500": {
-            "description": "A non-request input based error occurred in the server.",
+          "403": {
+            "description": "Forbidden",
             "content": {
-              "application/json": { }
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/ResourceOutcome"
+                }
+              }
             }
           }
         }
       }
     },
-    "/2023-01/retail-media/retailers/{retailer-id}/templates": {
+    "/2024-04/retail-media/accounts/{account-id}/creatives": {
       "get": {
         "tags": [
           "Campaign"
         ],
-        "description": "Get retailer creative templates",
-        "operationId": "CreativesApi_GetApi202207ExternalRetailerTemplatesByRetailerId",
+        "description": "Get account creatives",
+        "operationId": "CreativesApi_GetApi202110ExternalAccountCreativesByAccountId",
         "parameters": [
           {
-            "name": "retailer-id",
+            "name": "account-id",
             "in": "path",
-            "description": "External retailer id to retrieve creative templates for",
+            "description": "External account id to retrieve creatives for",
             "required": true,
             "style": "simple",
             "schema": {
-              "type": "integer",
-              "format": "int32"
+              "type": "string"
             },
             "x-nullable": false
           }
         ],
         "responses": {
           "200": {
-            "description": "Templates found",
+            "description": "Creatives found",
             "content": {
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/TemplateListResponse"
+                  "$ref": "#/components/schemas/Creative202110ListResponse"
                 }
               }
             }
           }
         }
-      }
-    },
-    "/2023-01/retail-media/retailers/{retailer-id}/templates/{template-id}": {
-      "get": {
+      },
+      "post": {
         "tags": [
           "Campaign"
         ],
-        "description": "Gets the template for the specified retailer id and template id",
-        "operationId": "CreativesApi_GetApi202207ExternalRetailerByRetailerId}Templates{templateId",
+        "description": "Create a creative for an account",
+        "operationId": "CreativesApi_PostApi202210ExternalAccountCreativesByAccountId",
         "parameters": [
           {
-            "name": "retailer-id",
-            "in": "path",
-            "description": "Retailer Id",
-            "required": true,
-            "style": "simple",
-            "schema": {
-              "type": "integer",
-              "format": "int32"
-            },
-            "x-nullable": false
-          },
-          {
-            "name": "template-id",
+            "name": "account-id",
             "in": "path",
-            "description": "Template Id",
+            "description": "External account id to create a creative for",
             "required": true,
             "style": "simple",
             "schema": {
-              "type": "integer",
-              "format": "int32"
+              "type": "string"
             },
             "x-nullable": false
           }
         ],
+        "requestBody": {
+          "description": "The creative to create",
+          "content": {
+            "application/json": {
+              "schema": {
+                "$ref": "#/components/schemas/CreativeCreateModel202207"
+              }
+            }
+          },
+          "x-nullable": false,
+          "x-bodyName": "creative"
+        },
         "responses": {
-          "200": {
-            "description": "Template found for the retailer",
+          "201": {
+            "description": "Creatives created",
             "content": {
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/TemplateResponse"
+                  "$ref": "#/components/schemas/Creative202210Response"
                 }
               }
             }
@@ -1041,34 +1020,46 @@
         }
       }
     },
-    "/2023-01/retail-media/retailers/{retailerId}/pages": {
-      "get": {
+    "/2024-04/retail-media/accounts/{account-id}/creatives/search": {
+      "post": {
         "tags": [
           "Campaign"
         ],
-        "description": "Get the page types available for the given retailer",
-        "operationId": "RetailerApi_GetApi202110ExternalRetailerPagesByRetailerId",
+        "description": "Get account creatives",
+        "operationId": "CreativesApi_PostApi202210ExternalAccountCreativesSearchByAccountId",
         "parameters": [
           {
-            "name": "retailerId",
+            "name": "account-id",
             "in": "path",
-            "description": "The retailers to fetch pages for",
+            "description": "External account id to retrieve creatives for",
             "required": true,
             "style": "simple",
             "schema": {
-              "type": "integer",
-              "format": "int32"
+              "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": "Pages fetched successfully",
+            "description": "Creatives found",
             "content": {
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/ExternalRetailerPages202110"
+                  "$ref": "#/components/schemas/Creative202210ListResponse"
                 }
               }
             }
@@ -1076,193 +1067,150 @@
         }
       }
     },
-    "/2023-01/retail-media/reports/campaigns": {
-      "post": {
+    "/2024-04/retail-media/accounts/{account-id}/creatives/{creative-id}": {
+      "get": {
         "tags": [
-          "Analytics"
+          "Campaign"
         ],
-        "description": "Return an asynchronous Campaigns Report",
-        "operationId": "GenerateAsyncCampaignsReport",
-        "requestBody": {
-          "content": {
-            "application/json-patch+json": {
-              "schema": {
-                "$ref": "#/components/schemas/AsyncCampaignsReportRequest"
-              }
+        "description": "Get the specified creative",
+        "operationId": "CreativesApi_GetApi202210ExternalAccountByAccountId}Creatives{creativeId",
+        "parameters": [
+          {
+            "name": "account-id",
+            "in": "path",
+            "description": "External account id to retrieve creatives for",
+            "required": true,
+            "style": "simple",
+            "schema": {
+              "type": "string"
             },
-            "application/json": {
-              "schema": {
-                "$ref": "#/components/schemas/AsyncCampaignsReportRequest"
-              }
+            "x-nullable": false
+          },
+          {
+            "name": "creative-id",
+            "in": "path",
+            "description": "Creative to get",
+            "required": true,
+            "style": "simple",
+            "schema": {
+              "type": "string"
             },
-            "text/json": {
-              "schema": {
-                "$ref": "#/components/schemas/AsyncCampaignsReportRequest"
+            "x-nullable": false
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "Creatives found",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/Creative202210Response"
+                }
               }
+            }
+          }
+        }
+      },
+      "put": {
+        "tags": [
+          "Campaign"
+        ],
+        "description": "Update a creative",
+        "operationId": "CreativesApi_PutApi202210ExternalAccountByAccountId}Creatives{creativeId",
+        "parameters": [
+          {
+            "name": "account-id",
+            "in": "path",
+            "description": "External account id containing the creative",
+            "required": true,
+            "style": "simple",
+            "schema": {
+              "type": "string"
             },
-            "application/*+json": {
+            "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/AsyncCampaignsReportRequest"
+                "$ref": "#/components/schemas/CreativeUpdateModel202207"
               }
             }
           },
-          "required": true,
-          "x-bodyName": "request"
+          "x-nullable": false,
+          "x-bodyName": "creative"
         },
         "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"
+                  "$ref": "#/components/schemas/Creative202210Response"
                 }
               }
             }
           },
-          "403": {
-            "description": "Forbidden",
+          "204": {
+            "description": "Creative updated",
             "content": {
-              "text/plain": {
-                "schema": {
-                  "$ref": "#/components/schemas/ReportOutcome"
-                }
-              },
-              "application/json": {
-                "schema": {
-                  "$ref": "#/components/schemas/ReportOutcome"
-                }
-              },
-              "text/json": {
-                "schema": {
-                  "$ref": "#/components/schemas/ReportOutcome"
-                }
-              }
+              "application/json": { }
             }
           }
         }
       }
     },
-    "/2023-01/retail-media/reports/line-items": {
+    "/2024-04/retail-media/accounts/{accountId}/catalogs": {
       "post": {
         "tags": [
-          "Analytics"
+          "Campaign"
+        ],
+        "description": "Create a request for a Catalog available to the indicated account.",
+        "operationId": "CatalogApi_PostApiV1ExternalAccountCatalogsByAccountId",
+        "parameters": [
+          {
+            "name": "accountId",
+            "in": "path",
+            "description": "The account to request the catalog for.",
+            "required": true,
+            "style": "simple",
+            "schema": {
+              "type": "string"
+            },
+            "x-nullable": false
+          }
         ],
-        "description": "Returns an asynchronous Line Items Report",
-        "operationId": "GenerateAsyncLineItemsReport",
         "requestBody": {
           "content": {
-            "application/json-patch+json": {
-              "schema": {
-                "$ref": "#/components/schemas/AsyncLineItemsReportRequest"
-              }
-            },
             "application/json": {
               "schema": {
-                "$ref": "#/components/schemas/AsyncLineItemsReportRequest"
-              }
-            },
-            "text/json": {
-              "schema": {
-                "$ref": "#/components/schemas/AsyncLineItemsReportRequest"
-              }
-            },
-            "application/*+json": {
-              "schema": {
-                "$ref": "#/components/schemas/AsyncLineItemsReportRequest"
+                "$ref": "#/components/schemas/JsonApiRequestOfCatalogRequest"
               }
             }
           },
-          "required": true,
+          "x-nullable": false,
           "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",
+            "description": "Catalog request successfully created",
             "content": {
-              "text/plain": {
-                "schema": {
-                  "$ref": "#/components/schemas/ReportOutcome"
-                }
-              },
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/ReportOutcome"
-                }
-              },
-              "text/json": {
-                "schema": {
-                  "$ref": "#/components/schemas/ReportOutcome"
+                  "$ref": "#/components/schemas/JsonApiSingleResponseOfCatalogStatus"
                 }
               }
             }
@@ -1270,165 +1218,71 @@
         }
       }
     },
-    "/2023-01/retail-media/reports/{reportId}/output": {
+    "/2024-04/retail-media/catalogs/{catalogId}/output": {
       "get": {
         "tags": [
-          "Analytics"
+          "Campaign"
         ],
-        "description": "Returns the output of an async report",
-        "operationId": "GetAsyncExportOutput",
+        "description": "Output the indicated catalog. Catalogs are only available for retrieval when their associated status request\r\nis at a Success status.\r\nProduces application/x-json-stream of v2021_07 CatalogProduct json objects.",
+        "operationId": "CatalogApi_GetApiV1ExternalCatalogOutputByCatalogId",
         "parameters": [
           {
-            "name": "reportId",
+            "name": "catalogId",
             "in": "path",
-            "description": "The ID of the report to retrieve",
+            "description": "A catalog ID returned from an account catalog request.",
             "required": true,
             "style": "simple",
             "schema": {
               "type": "string"
-            }
+            },
+            "x-nullable": false
           }
         ],
         "responses": {
           "200": {
-            "description": "Success",
+            "description": "Catalog download initiated.",
             "content": {
-              "text/plain": {
-                "schema": {
-                  "type": "string"
-                }
-              },
-              "application/json": {
-                "schema": {
-                  "type": "string"
-                }
-              },
-              "text/json": {
-                "schema": {
-                  "type": "string"
-                }
-              }
+              "application/x-json-stream": { },
+              "application/json": { }
             }
           },
           "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",
+            "description": "The indicated catalog is not available for retrieval, wait for a success status.",
             "content": {
-              "text/plain": {
-                "schema": {
-                  "$ref": "#/components/schemas/ReportOutcome"
-                }
-              },
-              "application/json": {
-                "schema": {
-                  "$ref": "#/components/schemas/ReportOutcome"
-                }
-              },
-              "text/json": {
-                "schema": {
-                  "$ref": "#/components/schemas/ReportOutcome"
-                }
-              }
+              "application/x-json-stream": { },
+              "application/json": { }
             }
           }
         }
       }
     },
-    "/2023-01/retail-media/reports/{reportId}/status": {
+    "/2024-04/retail-media/catalogs/{catalogId}/status": {
       "get": {
         "tags": [
-          "Analytics"
+          "Campaign"
         ],
-        "description": "Returns the status of an async report",
-        "operationId": "GetAsyncExportStatus",
+        "description": "Check the status of a catalog request.",
+        "operationId": "CatalogApi_GetApiV1ExternalCatalogStatusByCatalogId",
         "parameters": [
           {
-            "name": "reportId",
+            "name": "catalogId",
             "in": "path",
-            "description": "The ID of the report to retrieve",
+            "description": "A catalog ID returned from an account catalog request.",
             "required": true,
             "style": "simple",
             "schema": {
               "type": "string"
-            }
+            },
+            "x-nullable": false
           }
         ],
         "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",
+            "description": "Catalog request found.",
             "content": {
-              "text/plain": {
-                "schema": {
-                  "$ref": "#/components/schemas/ReportOutcome"
-                }
-              },
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/ReportOutcome"
-                }
-              },
-              "text/json": {
-                "schema": {
-                  "$ref": "#/components/schemas/ReportOutcome"
+                  "$ref": "#/components/schemas/JsonApiSingleResponseOfCatalogStatus"
                 }
               }
             }
@@ -1436,68 +1290,71 @@
         }
       }
     },
-    "/2023-01/retail-media/accounts/{account-id}/balances": {
+    "/2024-04/retail-media/categories": {
       "get": {
         "tags": [
           "Campaign"
         ],
-        "description": "Gets page of balance objects for the given account id",
-        "operationId": "BalancesApi_GetApi202110ExternalAccountBalancesByAccountId",
+        "description": "Endpoint to search categories by text and retailer.",
+        "operationId": "CategorySearchApi_GetApi202204ExternalCategories",
         "parameters": [
           {
-            "name": "account-id",
-            "in": "path",
-            "description": "The account to get balances for",
-            "required": true,
-            "style": "simple",
+            "name": "retailerId",
+            "in": "query",
+            "description": "The retailer id for which Categories fetched",
+            "style": "form",
             "schema": {
-              "type": "string"
+              "type": "integer",
+              "format": "int32"
             },
             "x-nullable": false
           },
           {
-            "name": "limitToId",
+            "name": "textSubstring",
             "in": "query",
-            "description": "The ids that you would like to limit your result set to",
+            "description": "Query string to search across Categories",
             "style": "form",
             "schema": {
-              "type": "array",
-              "items": {
-                "type": "string"
-              }
+              "type": "string"
             },
             "x-nullable": false
           },
           {
             "name": "pageIndex",
             "in": "query",
-            "description": "The 0 indexed page index you would like to receive given the page size",
+            "description": "The start position in the overall list of matches. Must be zero or greater.",
             "style": "form",
             "schema": {
+              "maximum": 500.0,
+              "minimum": 0.0,
               "type": "integer",
-              "format": "int32"
+              "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",
+            "description": "The maximum number of results to return with each call. Must be greater than zero.",
             "style": "form",
             "schema": {
+              "maximum": 100.0,
+              "minimum": 1.0,
               "type": "integer",
-              "format": "int32"
+              "format": "int32",
+              "default": 100
             },
             "x-nullable": false
           }
         ],
         "responses": {
           "200": {
-            "description": "Success",
+            "description": "Categories found.",
             "content": {
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/Balance202110PagedListResponse"
+                  "$ref": "#/components/schemas/Category202204ListResponse"
                 }
               }
             }
@@ -1505,114 +1362,81 @@
         }
       }
     },
-    "/2023-01/retail-media/accounts/{account-id}/campaigns": {
+    "/2024-04/retail-media/categories/{categoryId}": {
       "get": {
         "tags": [
           "Campaign"
         ],
-        "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": "Endpoint to search for a specific category by categoryId.",
+        "operationId": "CategorySearchApi_GetApi202204ExternalCategorieByCategoryId",
         "parameters": [
           {
-            "name": "account-id",
+            "name": "categoryId",
             "in": "path",
-            "description": "The account to request the campaign for.",
+            "description": "ID of the desired category",
             "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",
-              "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
+              "format": "int32"
             },
             "x-nullable": false
           }
         ],
         "responses": {
           "200": {
-            "description": "Success",
+            "description": "Retrieval completed and category is returned.",
             "content": {
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/JsonApiPageResponseOfCampaignV202301"
+                  "$ref": "#/components/schemas/Category202204"
                 }
               }
             }
+          },
+          "400": {
+            "description": "No IDs were passed in.",
+            "content": {
+              "application/json": { }
+            }
+          },
+          "500": {
+            "description": "A non-request input based error occurred in the server.",
+            "content": {
+              "application/json": { }
+            }
           }
         }
-      },
-      "post": {
+      }
+    },
+    "/2024-04/retail-media/retailers/{retailer-id}/templates": {
+      "get": {
         "tags": [
           "Campaign"
         ],
-        "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": "Get retailer creative templates",
+        "operationId": "CreativesApi_GetApi202207ExternalRetailerTemplatesByRetailerId",
         "parameters": [
           {
-            "name": "account-id",
+            "name": "retailer-id",
             "in": "path",
-            "description": "The account to request the campaign for.",
+            "description": "External retailer id to retrieve creative templates for",
             "required": true,
             "style": "simple",
             "schema": {
-              "type": "string"
+              "type": "integer",
+              "format": "int32"
             },
             "x-nullable": false
           }
         ],
-        "requestBody": {
-          "description": "Creatable campaign attributes",
-          "content": {
-            "application/json": {
-              "schema": {
-                "$ref": "#/components/schemas/PostCampaignV202301"
-              }
-            }
-          },
-          "x-nullable": false,
-          "x-bodyName": "campaign"
-        },
         "responses": {
-          "201": {
-            "description": "Success",
+          "200": {
+            "description": "Templates found",
             "content": {
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/JsonApiSingleResponseOfCampaignV202301"
+                  "$ref": "#/components/schemas/TemplateListResponse"
                 }
               }
             }
@@ -1620,71 +1444,20 @@
         }
       }
     },
-    "/2023-01/retail-media/accounts/{account-id}/line-items": {
+    "/2024-04/retail-media/retailers/{retailer-id}/templates/{template-id}": {
       "get": {
         "tags": [
           "Campaign"
         ],
-        "description": "Gets page of line item objects for the given account id",
-        "operationId": "GetApiV2ExternalAccountLineItemsByAccountId",
+        "description": "Gets the template for the specified retailer id and template id",
+        "operationId": "CreativesApi_GetApi202207ExternalRetailerByRetailerId}Templates{templateId",
         "parameters": [
           {
-            "name": "account-id",
+            "name": "retailer-id",
             "in": "path",
-            "description": "The given account id",
+            "description": "Retailer Id",
             "required": true,
             "style": "simple",
-            "schema": {
-              "type": "string"
-            },
-            "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",
-            "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"
@@ -1692,10 +1465,11 @@
             "x-nullable": false
           },
           {
-            "name": "pageSize",
-            "in": "query",
-            "description": "The maximum number of items you would like to receive in this request",
-            "style": "form",
+            "name": "template-id",
+            "in": "path",
+            "description": "Template Id",
+            "required": true,
+            "style": "simple",
             "schema": {
               "type": "integer",
               "format": "int32"
@@ -1705,11 +1479,11 @@
         ],
         "responses": {
           "200": {
-            "description": "Success",
+            "description": "Template found for the retailer",
             "content": {
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/CommonLineItemPagedListResponse"
+                  "$ref": "#/components/schemas/TemplateResponse"
                 }
               }
             }
@@ -1717,87 +1491,91 @@
         }
       }
     },
-    "/2023-01/retail-media/auction-line-items/{line-item-id}": {
+    "/2024-04/retail-media/retailers/{retailerId}/pages": {
       "get": {
         "tags": [
           "Campaign"
         ],
-        "description": "Gets the auction line item for the given line item id",
-        "operationId": "GetApiV2ExternalAuctionLineItemByLineItemId",
+        "description": "Get the page types available for the given retailer",
+        "operationId": "RetailerApi_GetApi202110ExternalRetailerPagesByRetailerId",
         "parameters": [
           {
-            "name": "line-item-id",
+            "name": "retailerId",
             "in": "path",
-            "description": "The given line item id",
+            "description": "The retailers to fetch pages for",
             "required": true,
             "style": "simple",
             "schema": {
-              "type": "string"
+              "type": "integer",
+              "format": "int32"
             },
             "x-nullable": false
           }
         ],
         "responses": {
           "200": {
-            "description": "Success",
-            "content": {
-              "application/json": {
-                "schema": {
-                  "$ref": "#/components/schemas/AuctionLineItemResponse"
-                }
-              }
-            }
-          },
-          "400": {
-            "description": "Bad Request",
+            "description": "Pages fetched successfully",
             "content": {
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/AuctionLineItemResponse"
+                  "$ref": "#/components/schemas/ExternalRetailerPages202110"
                 }
               }
             }
           }
         }
-      },
-      "put": {
+      }
+    },
+    "/2024-04/retail-media/reports/campaigns": {
+      "post": {
         "tags": [
-          "Campaign"
-        ],
-        "description": "Updates the auction line item for the given line item id",
-        "operationId": "PutApiV2ExternalAuctionLineItemByLineItemId",
-        "parameters": [
-          {
-            "name": "line-item-id",
-            "in": "path",
-            "description": "The given line item id",
-            "required": true,
-            "style": "simple",
-            "schema": {
-              "type": "string"
-            },
-            "x-nullable": false
-          }
+          "Analytics"
         ],
+        "description": "Return an asynchronous Campaigns Report",
+        "operationId": "GenerateAsyncCampaignsReport",
         "requestBody": {
-          "description": "The line item settings to create a line item with",
           "content": {
+            "application/json-patch+json": {
+              "schema": {
+                "$ref": "#/components/schemas/AsyncCampaignsReportRequest"
+              }
+            },
             "application/json": {
               "schema": {
-                "$ref": "#/components/schemas/AuctionLineItemUpdateModelRequest"
+                "$ref": "#/components/schemas/AsyncCampaignsReportRequest"
+              }
+            },
+            "text/json": {
+              "schema": {
+                "$ref": "#/components/schemas/AsyncCampaignsReportRequest"
+              }
+            },
+            "application/*+json": {
+              "schema": {
+                "$ref": "#/components/schemas/AsyncCampaignsReportRequest"
               }
             }
           },
-          "x-nullable": false,
-          "x-bodyName": "lineItem"
+          "required": true,
+          "x-bodyName": "request"
         },
         "responses": {
           "200": {
             "description": "Success",
             "content": {
+              "text/plain": {
+                "schema": {
+                  "$ref": "#/components/schemas/AsyncReportResponse"
+                }
+              },
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/AuctionLineItemResponse"
+                  "$ref": "#/components/schemas/AsyncReportResponse"
+                }
+              },
+              "text/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/AsyncReportResponse"
                 }
               }
             }
@@ -1805,53 +1583,39 @@
           "400": {
             "description": "Bad Request",
             "content": {
-              "application/json": {
+              "text/plain": {
                 "schema": {
-                  "$ref": "#/components/schemas/AuctionLineItemResponse"
+                  "$ref": "#/components/schemas/ReportOutcome"
                 }
-              }
-            }
-          }
-        }
-      }
-    },
-    "/2023-01/retail-media/auction-line-items/{line-item-id}/targeting/keywords": {
-      "get": {
-        "tags": [
-          "Campaign"
-        ],
-        "description": "This endpoint gets the keyword target on the specified line item.",
-        "operationId": "TargetingApi_GetApi202110ExternalAuctionLineItemTargetingKeywordsByLineItemId",
-        "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/KeywordTarget202110Response"
+                  "$ref": "#/components/schemas/ReportOutcome"
+                }
+              },
+              "text/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/ReportOutcome"
                 }
               }
             }
           },
-          "400": {
-            "description": "Bad Request",
+          "403": {
+            "description": "Forbidden",
             "content": {
+              "text/plain": {
+                "schema": {
+                  "$ref": "#/components/schemas/ReportOutcome"
+                }
+              },
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/KeywordTarget202110Response"
+                  "$ref": "#/components/schemas/ReportOutcome"
+                }
+              },
+              "text/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/ReportOutcome"
                 }
               }
             }
@@ -1859,45 +1623,56 @@
         }
       }
     },
-    "/2023-01/retail-media/auction-line-items/{line-item-id}/targeting/keywords/append": {
+    "/2024-04/retail-media/reports/line-items": {
       "post": {
         "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",
-        "parameters": [
-          {
-            "name": "line-item-id",
-            "in": "path",
-            "description": "The line item to interact with",
-            "required": true,
-            "style": "simple",
-            "schema": {
-              "type": "string"
-            },
-            "x-nullable": false
-          }
+          "Analytics"
         ],
+        "description": "Returns an asynchronous Line Items Report",
+        "operationId": "GenerateAsyncLineItemsReport",
         "requestBody": {
-          "description": "",
           "content": {
+            "application/json-patch+json": {
+              "schema": {
+                "$ref": "#/components/schemas/AsyncLineItemsReportRequest"
+              }
+            },
             "application/json": {
               "schema": {
-                "$ref": "#/components/schemas/KeywordTarget202110Request"
+                "$ref": "#/components/schemas/AsyncLineItemsReportRequest"
+              }
+            },
+            "text/json": {
+              "schema": {
+                "$ref": "#/components/schemas/AsyncLineItemsReportRequest"
+              }
+            },
+            "application/*+json": {
+              "schema": {
+                "$ref": "#/components/schemas/AsyncLineItemsReportRequest"
               }
             }
           },
-          "x-nullable": false,
-          "x-bodyName": "keywordsToAppend"
+          "required": true,
+          "x-bodyName": "request"
         },
         "responses": {
           "200": {
             "description": "Success",
             "content": {
-              "application/json": {
+              "text/plain": {
                 "schema": {
-                  "$ref": "#/components/schemas/KeywordTarget202110Response"
+                  "$ref": "#/components/schemas/AsyncReportResponse"
+                }
+              },
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/AsyncReportResponse"
+                }
+              },
+              "text/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/AsyncReportResponse"
                 }
               }
             }
@@ -1905,9 +1680,39 @@
           "400": {
             "description": "Bad Request",
             "content": {
+              "text/plain": {
+                "schema": {
+                  "$ref": "#/components/schemas/ReportOutcome"
+                }
+              },
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/KeywordTarget202110Response"
+                  "$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"
                 }
               }
             }
@@ -1915,45 +1720,56 @@
         }
       }
     },
-    "/2023-01/retail-media/auction-line-items/{line-item-id}/targeting/keywords/delete": {
+    "/2024-04/retail-media/reports/revenue": {
       "post": {
         "tags": [
-          "Campaign"
-        ],
-        "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 line item to interact with",
-            "required": true,
-            "style": "simple",
-            "schema": {
-              "type": "string"
-            },
-            "x-nullable": false
-          }
+          "Analytics"
         ],
+        "description": "Returns an asynchronous Revenue Report",
+        "operationId": "GenerateAsyncRevenueReport",
         "requestBody": {
-          "description": "",
           "content": {
+            "application/json-patch+json": {
+              "schema": {
+                "$ref": "#/components/schemas/AsyncRevenueReportRequest"
+              }
+            },
             "application/json": {
               "schema": {
-                "$ref": "#/components/schemas/KeywordTarget202110Request"
+                "$ref": "#/components/schemas/AsyncRevenueReportRequest"
+              }
+            },
+            "text/json": {
+              "schema": {
+                "$ref": "#/components/schemas/AsyncRevenueReportRequest"
+              }
+            },
+            "application/*+json": {
+              "schema": {
+                "$ref": "#/components/schemas/AsyncRevenueReportRequest"
               }
             }
           },
-          "x-nullable": false,
-          "x-bodyName": "keywordsToRemove"
+          "required": true,
+          "x-bodyName": "request"
         },
         "responses": {
           "200": {
             "description": "Success",
             "content": {
+              "text/plain": {
+                "schema": {
+                  "$ref": "#/components/schemas/AsyncReportResponse"
+                }
+              },
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/KeywordTarget202110Response"
+                  "$ref": "#/components/schemas/AsyncReportResponse"
+                }
+              },
+              "text/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/AsyncReportResponse"
                 }
               }
             }
@@ -1961,9 +1777,39 @@
           "400": {
             "description": "Bad Request",
             "content": {
+              "text/plain": {
+                "schema": {
+                  "$ref": "#/components/schemas/ReportOutcome"
+                }
+              },
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/KeywordTarget202110Response"
+                  "$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"
                 }
               }
             }
@@ -1971,68 +1817,82 @@
         }
       }
     },
-    "/2023-01/retail-media/balances/{balance-id}/campaigns": {
+    "/2024-04/retail-media/reports/{reportId}/output": {
       "get": {
         "tags": [
-          "Campaign"
+          "Analytics"
         ],
-        "description": "Gets page of campaigns for the given balanceId",
-        "operationId": "BalancesApi_GetApi202110ExternalBalanceCampaignsByBalanceId",
+        "description": "Returns the output of an async report",
+        "operationId": "GetAsyncExportOutput",
         "parameters": [
           {
-            "name": "balance-id",
+            "name": "reportId",
             "in": "path",
-            "description": "The balance to get campaigns from",
+            "description": "The ID of the report to retrieve",
             "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": {
+                  "type": "string"
+                }
+              },
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/BalanceCampaign202110PagedListResponse"
+                  "type": "string"
+                }
+              },
+              "text/json": {
+                "schema": {
+                  "type": "string"
+                }
+              }
+            }
+          },
+          "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"
                 }
               }
             }
@@ -2040,83 +1900,132 @@
         }
       }
     },
-    "/2023-01/retail-media/balances/{balance-id}/campaigns/append": {
-      "post": {
+    "/2024-04/retail-media/reports/{reportId}/status": {
+      "get": {
         "tags": [
-          "Campaign"
+          "Analytics"
         ],
-        "description": "appends one or more campaigns to the specified balance",
-        "operationId": "BalancesApi_PostApi202110ExternalBalanceCampaignsAppendByBalanceId",
+        "description": "Returns the status of an async report",
+        "operationId": "GetAsyncExportStatus",
         "parameters": [
           {
-            "name": "balance-id",
+            "name": "reportId",
             "in": "path",
-            "description": "The balance to add campaigns from",
+            "description": "The ID of the report to retrieve",
             "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": {
+              "text/plain": {
+                "schema": {
+                  "$ref": "#/components/schemas/AsyncReportResponse"
+                }
+              },
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/BalanceCampaign202110PagedListResponse"
+                  "$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"
+                }
+              }
             }
           }
         }
       }
     },
-    "/2023-01/retail-media/balances/{balance-id}/campaigns/delete": {
+    "/2024-04/retail-media/account-management/accounts/{accountId}/brands/add": {
       "post": {
         "tags": [
-          "Campaign"
+          "Accounts"
         ],
-        "description": "Removes one or more campaigns on the specified balance",
-        "operationId": "BalancesApi_PostApi202110ExternalBalanceCampaignsDeleteByBalanceId",
+        "description": "Add brands to an account",
+        "operationId": "AddBrands",
         "parameters": [
           {
-            "name": "balance-id",
+            "name": "accountId",
             "in": "path",
-            "description": "The balance to remove campaigns from",
+            "description": "the account id to update",
             "required": true,
             "style": "simple",
             "schema": {
               "type": "string"
-            },
-            "x-nullable": false
+            }
           }
         ],
         "requestBody": {
-          "description": "The campaigns to append",
+          "description": "brands to associate to account",
           "content": {
+            "application/json-patch+json": {
+              "schema": {
+                "$ref": "#/components/schemas/ValueResourceInputOfRetailMediaBrands"
+              }
+            },
             "application/json": {
               "schema": {
-                "$ref": "#/components/schemas/BalanceCampaign202110ListRequest"
+                "$ref": "#/components/schemas/ValueResourceInputOfRetailMediaBrands"
+              }
+            },
+            "text/json": {
+              "schema": {
+                "$ref": "#/components/schemas/ValueResourceInputOfRetailMediaBrands"
+              }
+            },
+            "application/*+json": {
+              "schema": {
+                "$ref": "#/components/schemas/ValueResourceInputOfRetailMediaBrands"
               }
             }
-          },
-          "x-nullable": false,
-          "x-bodyName": "campaigns"
+          }
         },
         "responses": {
           "200": {
@@ -2124,7 +2033,7 @@
             "content": {
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/BalanceCampaign202110PagedListResponse"
+                  "$ref": "#/components/schemas/ValueResourceOfRetailMediaBrands"
                 }
               }
             }
@@ -2132,114 +2041,106 @@
         }
       }
     },
-    "/2023-01/retail-media/campaigns/{campaign-id}/auction-line-items": {
-      "get": {
+    "/2024-04/retail-media/account-management/accounts/{accountId}/brands/remove": {
+      "post": {
         "tags": [
-          "Campaign"
+          "Accounts"
         ],
-        "description": "Gets page of auction line item objects for the given campaign id",
-        "operationId": "GetApiV2ExternalCampaignAuctionLineItemsByCampaignId",
+        "description": "Remove a brand from an account",
+        "operationId": "RemoveBrands",
         "parameters": [
           {
-            "name": "campaign-id",
+            "name": "accountId",
             "in": "path",
-            "description": "The given campaign id",
+            "description": "the account id to update",
             "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"
+            }
+          }
+        ],
+        "requestBody": {
+          "content": {
+            "application/json-patch+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"
+            "application/json": {
+              "schema": {
+                "$ref": "#/components/schemas/ValueResourceInputOfRetailMediaBrands"
+              }
             },
-            "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"
+            "text/json": {
+              "schema": {
+                "$ref": "#/components/schemas/ValueResourceInputOfRetailMediaBrands"
+              }
             },
-            "x-nullable": false
+            "application/*+json": {
+              "schema": {
+                "$ref": "#/components/schemas/ValueResourceInputOfRetailMediaBrands"
+              }
+            }
           }
-        ],
+        },
         "responses": {
           "200": {
             "description": "Success",
             "content": {
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/AuctionLineItemPagedListResponse"
-                }
-              }
-            }
-          },
-          "400": {
-            "description": "Bad Request",
-            "content": {
-              "application/json": {
-                "schema": {
-                  "$ref": "#/components/schemas/AuctionLineItemPagedListResponse"
+                  "$ref": "#/components/schemas/ValueResourceOfRetailMediaBrands"
                 }
               }
             }
           }
         }
-      },
+      }
+    },
+    "/2024-04/retail-media/account-management/accounts/{accountId}/create-brand-account": {
       "post": {
         "tags": [
-          "Campaign"
+          "Accounts"
         ],
-        "description": "Creates new auction line item with the specified settings",
-        "operationId": "PostApiV2ExternalCampaignAuctionLineItemsByCampaignId",
+        "description": "Creates a new child Demand Brand Account for the provided parent private market account",
+        "operationId": "CreatePrivateMarketDemandBrandAccount",
         "parameters": [
           {
-            "name": "campaign-id",
+            "name": "accountId",
             "in": "path",
-            "description": "The given campaign id",
+            "description": "Account Id for the parent private market account",
             "required": true,
             "style": "simple",
             "schema": {
               "type": "string"
-            },
-            "x-nullable": false
+            }
           }
         ],
         "requestBody": {
-          "description": "The line item settings to create a line item with",
+          "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/AuctionLineItemCreateModelRequest"
+                "$ref": "#/components/schemas/ValueResourceInputOfRetailMediaBrandAccountCreation"
+              }
+            },
+            "text/json": {
+              "schema": {
+                "$ref": "#/components/schemas/ValueResourceInputOfRetailMediaBrandAccountCreation"
+              }
+            },
+            "application/*+json": {
+              "schema": {
+                "$ref": "#/components/schemas/ValueResourceInputOfRetailMediaBrandAccountCreation"
               }
             }
-          },
-          "x-nullable": false,
-          "x-bodyName": "lineItem"
+          }
         },
         "responses": {
           "201": {
@@ -2247,17 +2148,7 @@
             "content": {
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/AuctionLineItemResponse"
-                }
-              }
-            }
-          },
-          "400": {
-            "description": "Bad Request",
-            "content": {
-              "application/json": {
-                "schema": {
-                  "$ref": "#/components/schemas/AuctionLineItemResponse"
+                  "$ref": "#/components/schemas/ResourceOutcomeOfRetailMediaAccount"
                 }
               }
             }
@@ -2265,59 +2156,24 @@
         }
       }
     },
-    "/2023-01/retail-media/campaigns/{campaign-id}/preferred-line-items": {
+    "/2024-04/retail-media/campaigns/{campaignId}/campaign-budget-overrides": {
       "get": {
         "tags": [
           "Campaign"
         ],
-        "description": "Gets page of preferred line item objects for the given campaign id",
-        "operationId": "LineItemsApi_GetApi202110ExternalCampaignPreferredLineItemsByCampaignId",
+        "description": "Get current campaign budget overrides by given external campaign id.",
+        "operationId": "GetCampaignBudgetOverrides",
         "parameters": [
           {
-            "name": "campaign-id",
+            "name": "campaignId",
             "in": "path",
-            "description": "The given campaign id",
+            "description": "External campaign id.",
             "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
+              "format": "int64"
+            }
           }
         ],
         "responses": {
@@ -2326,53 +2182,56 @@
             "content": {
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/PreferredLineItem202110PagedListResponse"
-                }
-              }
-            }
-          },
-          "400": {
-            "description": "Bad Request",
-            "content": {
-              "application/json": {
-                "schema": {
-                  "$ref": "#/components/schemas/PreferredLineItem202110PagedListResponse"
+                  "$ref": "#/components/schemas/ValueResourceOutcomeOfCampaignBudgetOverrides"
                 }
               }
             }
           }
         }
       },
-      "post": {
+      "put": {
         "tags": [
           "Campaign"
         ],
-        "description": "Creates a new preferred line item with the specified settings",
-        "operationId": "LineItemsApi_PostApi202110ExternalCampaignPreferredLineItemsByCampaignId",
+        "description": "Update campaign budget overrides by given external campaign id and new campaign budget overrides settings.",
+        "operationId": "UpdateCampaignBudgetOverrides",
         "parameters": [
           {
-            "name": "campaign-id",
+            "name": "campaignId",
             "in": "path",
-            "description": "The given campaign 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": {
+            "application/json-patch+json": {
               "schema": {
-                "$ref": "#/components/schemas/PreferredLineItemCreateModel202110Request"
+                "$ref": "#/components/schemas/ValueResourceInputOfCampaignBudgetOverrides"
+              }
+            },
+            "application/json": {
+              "schema": {
+                "$ref": "#/components/schemas/ValueResourceInputOfCampaignBudgetOverrides"
+              }
+            },
+            "text/json": {
+              "schema": {
+                "$ref": "#/components/schemas/ValueResourceInputOfCampaignBudgetOverrides"
+              }
+            },
+            "application/*+json": {
+              "schema": {
+                "$ref": "#/components/schemas/ValueResourceInputOfCampaignBudgetOverrides"
               }
             }
-          },
-          "x-nullable": false,
-          "x-bodyName": "lineItem"
+          }
         },
         "responses": {
           "201": {
@@ -2380,17 +2239,7 @@
             "content": {
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/PreferredLineItem202110Response"
-                }
-              }
-            }
-          },
-          "400": {
-            "description": "Bad Request",
-            "content": {
-              "application/json": {
-                "schema": {
-                  "$ref": "#/components/schemas/PreferredLineItem202110Response"
+                  "$ref": "#/components/schemas/ValueResourceOutcomeOfCampaignBudgetOverrides"
                 }
               }
             }
@@ -2398,102 +2247,58 @@
         }
       }
     },
-    "/2023-01/retail-media/campaigns/{campaignId}": {
+    "/2024-04/retail-media/insertion-order-history/{insertionOrderId}/change-data-capture": {
       "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": "Gets the balance's historical data change capture.",
+        "operationId": "GetInsertionOrderHistoryChangeDataCapture",
         "parameters": [
           {
-            "name": "campaignId",
+            "name": "insertionOrderId",
             "in": "path",
-            "description": "Campaign Id of the campaign detail",
+            "description": "External insertion order id.",
             "required": true,
             "style": "simple",
             "schema": {
               "type": "string"
-            },
-            "x-nullable": false
-          }
-        ],
-        "responses": {
-          "200": {
-            "description": "Success",
-            "content": {
-              "application/json": {
-                "schema": {
-                  "$ref": "#/components/schemas/JsonApiSingleResponseOfCampaignV202301"
-                }
-              }
             }
-          }
-        }
-      },
-      "put": {
-        "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",
-        "parameters": [
+          },
           {
-            "name": "campaignId",
-            "in": "path",
-            "description": "Campaign Id of the updating campaign",
-            "required": true,
-            "style": "simple",
+            "name": "offset",
+            "in": "query",
+            "description": "The (zero-based) starting offset in the collection.",
+            "style": "form",
             "schema": {
-              "type": "string"
-            },
-            "x-nullable": false
-          }
-        ],
-        "requestBody": {
-          "description": "Editable campaign attributes",
-          "content": {
-            "application/json": {
-              "schema": {
-                "$ref": "#/components/schemas/PutCampaignV202301"
-              }
+              "maximum": 2147483647,
+              "minimum": 0,
+              "type": "integer",
+              "format": "int32",
+              "default": 0
             }
           },
-          "x-nullable": false,
-          "x-bodyName": "campaign"
-        },
-        "responses": {
-          "200": {
-            "description": "Success",
-            "content": {
-              "application/json": {
-                "schema": {
-                  "$ref": "#/components/schemas/JsonApiSingleResponseOfCampaignV202301"
-                }
-              }
+          {
+            "name": "limit",
+            "in": "query",
+            "description": "The number of elements to be returned.",
+            "style": "form",
+            "schema": {
+              "maximum": 100,
+              "minimum": 1,
+              "type": "integer",
+              "format": "int32",
+              "default": 25
             }
-          }
-        }
-      }
-    },
-    "/2023-01/retail-media/line-items/{line-item-id}": {
-      "get": {
-        "tags": [
-          "Campaign"
-        ],
-        "description": "Gets the line item for the given line item id",
-        "operationId": "GetApiV2ExternalLineItemByLineItemId",
-        "parameters": [
+          },
           {
-            "name": "line-item-id",
-            "in": "path",
-            "description": "The given line item id",
-            "required": true,
-            "style": "simple",
+            "name": "limitToChangeTypes",
+            "in": "query",
+            "description": "Comma separated change types string that will be queried.",
+            "style": "form",
             "schema": {
               "type": "string"
-            },
-            "x-nullable": false
+            }
           }
         ],
         "responses": {
@@ -2502,7 +2307,7 @@
             "content": {
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/CommonLineItemResponse"
+                  "$ref": "#/components/schemas/PageOfInsertionOrderHistoryChangeDataCapture"
                 }
               }
             }
@@ -2510,18 +2315,18 @@
         }
       }
     },
-    "/2023-01/retail-media/line-items/{line-item-id}/bid-multipliers": {
+    "/2024-04/retail-media/line-items/{lineItemId}/line-item-budget-overrides": {
       "get": {
         "tags": [
           "Campaign"
         ],
-        "description": "Get bid multipliers by line item",
-        "operationId": "LineItems_GetApi202301ExternalLineItemBidMultipliersByLineItemId",
+        "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": "Long external id of the associated line item",
+            "description": "The line item id to get budget overrides for.",
             "required": true,
             "style": "simple",
             "schema": {
@@ -2533,19 +2338,9 @@
           "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/ValueResourceOutcomeOfLineItemBudgetOverrides"
                 }
               }
             }
@@ -2556,13 +2351,13 @@
         "tags": [
           "Campaign"
         ],
-        "description": "Replace bid multipliers on a line item",
-        "operationId": "LineItems_PutApi202301ExternalLineItemBidMultipliersByLineItemId",
+        "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": "Long external id of the associated line item",
+            "description": "Line item external id.",
             "required": true,
             "style": "simple",
             "schema": {
@@ -2571,33 +2366,37 @@
           }
         ],
         "requestBody": {
+          "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/LineItemBidMultipliersRequest"
+                "$ref": "#/components/schemas/ValueResourceInputOfLineItemBudgetOverrides"
+              }
+            },
+            "text/json": {
+              "schema": {
+                "$ref": "#/components/schemas/ValueResourceInputOfLineItemBudgetOverrides"
+              }
+            },
+            "application/*+json": {
+              "schema": {
+                "$ref": "#/components/schemas/ValueResourceInputOfLineItemBudgetOverrides"
               }
             }
-          },
-          "x-nullable": false,
-          "x-bodyName": "request"
+          }
         },
         "responses": {
-          "200": {
+          "201": {
             "description": "Success",
             "content": {
-              "text/plain": {
-                "schema": {
-                  "$ref": "#/components/schemas/LineItemBidMultipliersResponse"
-                }
-              },
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/LineItemBidMultipliersResponse"
-                }
-              },
-              "text/json": {
-                "schema": {
-                  "$ref": "#/components/schemas/LineItemBidMultipliersResponse"
+                  "$ref": "#/components/schemas/ValueResourceOutcomeOfLineItemBudgetOverrides"
                 }
               }
             }
@@ -2605,18 +2404,18 @@
         }
       }
     },
-    "/2023-01/retail-media/line-items/{line-item-id}/products": {
+    "/2024-04/retail-media/accounts/{account-id}/balances": {
       "get": {
         "tags": [
           "Campaign"
         ],
-        "description": "This endpoint gets the promoted products on the specified line item.",
-        "operationId": "PromotedProductsApi_GetApi202110ExternalLineItemProductsByLineItemId",
+        "description": "Get page of balances for the given accountId.",
+        "operationId": "Balances_GetApiV1ExternalAccountBalancesByAccountId",
         "parameters": [
           {
-            "name": "line-item-id",
+            "name": "account-id",
             "in": "path",
-            "description": "The line item to interact with",
+            "description": "The account to get page of balances for",
             "required": true,
             "style": "simple",
             "schema": {
@@ -2644,7 +2443,8 @@
             "style": "form",
             "schema": {
               "type": "integer",
-              "format": "int32"
+              "format": "int32",
+              "default": 0
             },
             "x-nullable": false
           },
@@ -2655,7 +2455,8 @@
             "style": "form",
             "schema": {
               "type": "integer",
-              "format": "int32"
+              "format": "int32",
+              "default": 25
             },
             "x-nullable": false
           }
@@ -2666,26 +2467,24 @@
             "content": {
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/PromotedProduct202110PagedListResponse"
+                  "$ref": "#/components/schemas/BalanceResponsePagedListResponse"
                 }
               }
             }
           }
         }
-      }
-    },
-    "/2023-01/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": "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": {
@@ -2695,24 +2494,23 @@
           }
         ],
         "requestBody": {
-          "description": "the products to append to this line item",
           "content": {
             "application/json": {
               "schema": {
-                "$ref": "#/components/schemas/PromotedProduct202110ListRequest"
+                "$ref": "#/components/schemas/CreateBalanceRequest"
               }
             }
           },
           "x-nullable": false,
-          "x-bodyName": "promotedProductsToAppend"
+          "x-bodyName": "createBalance"
         },
         "responses": {
-          "200": {
+          "201": {
             "description": "Success",
             "content": {
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/PromotedProduct202110PagedListResponse"
+                  "$ref": "#/components/schemas/BalanceResponse"
                 }
               }
             }
@@ -2720,18 +2518,29 @@
         }
       }
     },
-    "/2023-01/retail-media/line-items/{line-item-id}/products/delete": {
-      "post": {
+    "/2024-04/retail-media/accounts/{account-id}/balances/{balanceId}": {
+      "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": "Get a balance for the given account id and balance id",
+        "operationId": "Balances_GetApiV1ExternalAccountByAccountIdAndBalanceId",
         "parameters": [
           {
-            "name": "line-item-id",
+            "name": "account-id",
             "in": "path",
-            "description": "The line item to interact with",
+            "description": "The account of the balance",
+            "required": true,
+            "style": "simple",
+            "schema": {
+              "type": "string"
+            },
+            "x-nullable": false
+          },
+          {
+            "name": "balanceId",
+            "in": "path",
+            "description": "The balance id",
             "required": true,
             "style": "simple",
             "schema": {
@@ -2740,44 +2549,41 @@
             "x-nullable": false
           }
         ],
-        "requestBody": {
-          "description": "",
-          "content": {
-            "application/json": {
-              "schema": {
-                "$ref": "#/components/schemas/PromotedProduct202110ListRequest"
-              }
-            }
-          },
-          "x-nullable": false,
-          "x-bodyName": "promotedProductsToRemove"
-        },
         "responses": {
           "200": {
             "description": "Success",
             "content": {
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/PromotedProduct202110PagedListResponse"
+                  "$ref": "#/components/schemas/BalanceResponse"
                 }
               }
             }
           }
         }
-      }
-    },
-    "/2023-01/retail-media/line-items/{line-item-id}/products/pause": {
-      "post": {
+      },
+      "patch": {
         "tags": [
           "Campaign"
         ],
-        "description": "This endpoint pauses one or more promoted products on a specified line item.",
-        "operationId": "PromotedProducts_PostApi202110ExternalLineItemProductsPauseByLineItemId",
+        "description": "Modify a balance for the given account id",
+        "operationId": "Balances_PatchApiV1ExternalAccountByAccountIdAndBalanceId",
         "parameters": [
           {
-            "name": "line-item-id",
+            "name": "account-id",
             "in": "path",
-            "description": "The line item to interact with.",
+            "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": {
@@ -2787,36 +2593,53 @@
           }
         ],
         "requestBody": {
-          "description": "The products from which their IDs will be used to pause.",
           "content": {
             "application/json": {
               "schema": {
-                "$ref": "#/components/schemas/PromotedProduct202110ListRequest"
+                "$ref": "#/components/schemas/UpdateBalanceModelRequest"
               }
             }
           },
           "x-nullable": false,
-          "x-bodyName": "promotedProductsToPause"
+          "x-bodyName": "updateBalanceModel"
         },
         "responses": {
           "200": {
-            "description": "Success"
+            "description": "Success",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/BalanceResponse"
+                }
+              }
+            }
           }
         }
       }
     },
-    "/2023-01/retail-media/line-items/{line-item-id}/products/unpause": {
+    "/2024-04/retail-media/accounts/{account-id}/balances/{balanceId}/add-funds": {
       "post": {
         "tags": [
           "Campaign"
         ],
-        "description": "This endpoint unpauses one or more promoted products on a specified line item.",
-        "operationId": "PromotedProducts_PostApi202110ExternalLineItemProductsUnpauseByLineItemId",
+        "description": "Add funds to a balance for the given account id",
+        "operationId": "Balances_PostApiV1ExternalAccountAddFundsByAccountIdAndBalanceId",
         "parameters": [
           {
-            "name": "line-item-id",
+            "name": "account-id",
             "in": "path",
-            "description": "The line item to interact with.",
+            "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": {
@@ -2826,36 +2649,53 @@
           }
         ],
         "requestBody": {
-          "description": "The products from which their IDs will be used to unpause.",
           "content": {
             "application/json": {
               "schema": {
-                "$ref": "#/components/schemas/PromotedProduct202110ListRequest"
+                "$ref": "#/components/schemas/AddFundsToBalanceRequest"
               }
             }
           },
           "x-nullable": false,
-          "x-bodyName": "promotedProductsToUnpause"
+          "x-bodyName": "addFundsToBalance"
         },
         "responses": {
           "200": {
-            "description": "Success"
+            "description": "Success",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/BalanceResponse"
+                }
+              }
+            }
           }
         }
       }
     },
-    "/2023-01/retail-media/preferred-line-items/{line-item-id}": {
-      "get": {
+    "/2024-04/retail-media/accounts/{account-id}/balances/{balanceId}/change-dates": {
+      "post": {
         "tags": [
           "Campaign"
         ],
-        "description": "Gets the preferred line item for the given line item id",
-        "operationId": "LineItemsApi_GetApi202110ExternalPreferredLineItemByLineItemId",
+        "description": "Change dates of a balance for the given account id",
+        "operationId": "Balances_PostApiV1ExternalAccountChangeDatesByAccountIdAndBalanceId",
         "parameters": [
           {
-            "name": "line-item-id",
+            "name": "account-id",
             "in": "path",
-            "description": "The given line item id",
+            "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": {
@@ -2864,40 +2704,112 @@
             "x-nullable": false
           }
         ],
+        "requestBody": {
+          "content": {
+            "application/json": {
+              "schema": {
+                "$ref": "#/components/schemas/ChangeDatesOfBalanceRequest"
+              }
+            }
+          },
+          "x-nullable": false,
+          "x-bodyName": "changeDatesOfBalance"
+        },
         "responses": {
           "200": {
             "description": "Success",
             "content": {
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/PreferredLineItem202110Response"
+                  "$ref": "#/components/schemas/BalanceResponse"
                 }
               }
             }
+          }
+        }
+      }
+    },
+    "/2024-04/retail-media/accounts/{account-id}/campaigns": {
+      "get": {
+        "tags": [
+          "Campaign"
+        ],
+        "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": "account-id",
+            "in": "path",
+            "description": "The account to request the campaign 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/PreferredLineItem202110Response"
+                  "$ref": "#/components/schemas/JsonApiPageResponseOfCampaignV202301"
                 }
               }
             }
           }
         }
       },
-      "put": {
+      "post": {
         "tags": [
           "Campaign"
         ],
-        "description": "Updates the preferred line item for the given line item id",
-        "operationId": "LineItemsApi_PutApi202110ExternalPreferredLineItemByLineItemId",
+        "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": "line-item-id",
+            "name": "account-id",
             "in": "path",
-            "description": "The given line item id",
+            "description": "The account to request the campaign for.",
             "required": true,
             "style": "simple",
             "schema": {
@@ -2907,34 +2819,121 @@
           }
         ],
         "requestBody": {
-          "description": "The line item settings to create a line item with",
+          "description": "Creatable campaign attributes",
           "content": {
             "application/json": {
               "schema": {
-                "$ref": "#/components/schemas/PreferredLineItemUpdateModel202110Request"
+                "$ref": "#/components/schemas/PostCampaignV202301"
               }
             }
           },
           "x-nullable": false,
-          "x-bodyName": "lineItem"
+          "x-bodyName": "campaign"
         },
         "responses": {
-          "200": {
+          "201": {
             "description": "Success",
             "content": {
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/PreferredLineItem202110Response"
+                  "$ref": "#/components/schemas/JsonApiSingleResponseOfCampaignV202301"
                 }
               }
             }
+          }
+        }
+      }
+    },
+    "/2024-04/retail-media/accounts/{account-id}/line-items": {
+      "get": {
+        "tags": [
+          "Campaign"
+        ],
+        "description": "Gets page of line item objects for the given account id",
+        "operationId": "GetApiV2ExternalAccountLineItemsByAccountId",
+        "parameters": [
+          {
+            "name": "account-id",
+            "in": "path",
+            "description": "The given account id",
+            "required": true,
+            "style": "simple",
+            "schema": {
+              "type": "string"
+            },
+            "x-nullable": false
           },
-          "400": {
-            "description": "Bad Request",
+          {
+            "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",
+            "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/PreferredLineItem202110Response"
+                  "$ref": "#/components/schemas/CommonLineItemPagedListResponse"
                 }
               }
             }
@@ -2942,18 +2941,18 @@
         }
       }
     },
-    "/2023-01/retail-media/preferred-line-items/{line-item-id}/targeting/add-to-basket": {
+    "/2024-04/retail-media/auction-line-items/{line-item-id}": {
       "get": {
         "tags": [
           "Campaign"
         ],
-        "description": "This endpoint gets the add to basket target on the specified line item.",
-        "operationId": "TargetingApi_GetApi202110ExternalPreferredLineItemTargetingAddToBasketByLineItemId",
+        "description": "Gets the auction line item for the given line item id",
+        "operationId": "GetApiV2ExternalAuctionLineItemByLineItemId",
         "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": {
@@ -2968,7 +2967,7 @@
             "content": {
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/AddToBasketTarget202110Response"
+                  "$ref": "#/components/schemas/AuctionLineItemResponse"
                 }
               }
             }
@@ -2978,7 +2977,7 @@
             "content": {
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/AddToBasketTarget202110Response"
+                  "$ref": "#/components/schemas/AuctionLineItemResponse"
                 }
               }
             }
@@ -2989,13 +2988,13 @@
         "tags": [
           "Campaign"
         ],
-        "description": "This endpoint sets the scope of the add to basket target on the specified line item.",
-        "operationId": "TargetingApi_PutApi202110ExternalPreferredLineItemTargetingAddToBasketByLineItemId",
+        "description": "Updates the auction line item for the given line item id",
+        "operationId": "PutApiV2ExternalAuctionLineItemByLineItemId",
         "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": {
@@ -3005,16 +3004,16 @@
           }
         ],
         "requestBody": {
-          "description": "The add to basket target to set the scope for",
+          "description": "The line item settings to create a line item with",
           "content": {
             "application/json": {
               "schema": {
-                "$ref": "#/components/schemas/AddToBasketTarget202110Request"
+                "$ref": "#/components/schemas/AuctionLineItemUpdateModelRequest"
               }
             }
           },
           "x-nullable": false,
-          "x-bodyName": "addToBasketTarget"
+          "x-bodyName": "lineItem"
         },
         "responses": {
           "200": {
@@ -3022,7 +3021,7 @@
             "content": {
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/AddToBasketTarget202110Response"
+                  "$ref": "#/components/schemas/AuctionLineItemResponse"
                 }
               }
             }
@@ -3032,7 +3031,7 @@
             "content": {
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/AddToBasketTarget202110Response"
+                  "$ref": "#/components/schemas/AuctionLineItemResponse"
                 }
               }
             }
@@ -3040,13 +3039,13 @@
         }
       }
     },
-    "/2023-01/retail-media/preferred-line-items/{line-item-id}/targeting/add-to-basket/append": {
-      "post": {
+    "/2024-04/retail-media/auction-line-items/{line-item-id}/targeting/keywords": {
+      "get": {
         "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 gets the keyword target on the specified line item.",
+        "operationId": "TargetingApi_GetApi202110ExternalAuctionLineItemTargetingKeywordsByLineItemId",
         "parameters": [
           {
             "name": "line-item-id",
@@ -3060,25 +3059,13 @@
             "x-nullable": false
           }
         ],
-        "requestBody": {
-          "description": "Ids to append to the target",
-          "content": {
-            "application/json": {
-              "schema": {
-                "$ref": "#/components/schemas/AddToBasketIdsUpdateModel202110Request"
-              }
-            }
-          },
-          "x-nullable": false,
-          "x-bodyName": "idsToAppend"
-        },
         "responses": {
           "200": {
             "description": "Success",
             "content": {
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/AddToBasketTarget202110Response"
+                  "$ref": "#/components/schemas/KeywordTarget202110Response"
                 }
               }
             }
@@ -3088,7 +3075,7 @@
             "content": {
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/AddToBasketTarget202110Response"
+                  "$ref": "#/components/schemas/KeywordTarget202110Response"
                 }
               }
             }
@@ -3096,13 +3083,13 @@
         }
       }
     },
-    "/2023-01/retail-media/preferred-line-items/{line-item-id}/targeting/add-to-basket/delete": {
+    "/2024-04/retail-media/auction-line-items/{line-item-id}/targeting/keywords/append": {
       "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 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": "line-item-id",
@@ -3117,16 +3104,16 @@
           }
         ],
         "requestBody": {
-          "description": "Ids to remove from the target",
+          "description": "",
           "content": {
             "application/json": {
               "schema": {
-                "$ref": "#/components/schemas/AddToBasketIdsUpdateModel202110Request"
+                "$ref": "#/components/schemas/KeywordTarget202110Request"
               }
             }
           },
           "x-nullable": false,
-          "x-bodyName": "idsToRemove"
+          "x-bodyName": "keywordsToAppend"
         },
         "responses": {
           "200": {
@@ -3134,7 +3121,7 @@
             "content": {
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/AddToBasketTarget202110Response"
+                  "$ref": "#/components/schemas/KeywordTarget202110Response"
                 }
               }
             }
@@ -3144,7 +3131,7 @@
             "content": {
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/AddToBasketTarget202110Response"
+                  "$ref": "#/components/schemas/KeywordTarget202110Response"
                 }
               }
             }
@@ -3152,13 +3139,13 @@
         }
       }
     },
-    "/2023-01/retail-media/preferred-line-items/{line-item-id}/targeting/audiences": {
-      "get": {
+    "/2024-04/retail-media/auction-line-items/{line-item-id}/targeting/keywords/delete": {
+      "post": {
         "tags": [
           "Campaign"
         ],
-        "description": "This endpoint gets the audience target on the specified line item.",
-        "operationId": "TargetingApi_GetApi202110ExternalPreferredLineItemTargetingAudiencesByLineItemId",
+        "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",
@@ -3172,13 +3159,25 @@
             "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/AudienceTarget202110Response"
+                  "$ref": "#/components/schemas/KeywordTarget202110Response"
                 }
               }
             }
@@ -3188,61 +3187,76 @@
             "content": {
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/AudienceTarget202110Response"
+                  "$ref": "#/components/schemas/KeywordTarget202110Response"
                 }
               }
             }
           }
         }
-      },
-      "put": {
+      }
+    },
+    "/2024-04/retail-media/balances/{balance-id}/campaigns": {
+      "get": {
         "tags": [
           "Campaign"
         ],
-        "description": "This endpoint sets the scope of the audience target on the specified line item.",
-        "operationId": "TargetingApi_PutApi202110ExternalPreferredLineItemTargetingAudiencesByLineItemId",
+        "description": "Gets page of campaigns for the given balanceId",
+        "operationId": "BalancesApi_GetApi202110ExternalBalanceCampaignsByBalanceId",
         "parameters": [
           {
-            "name": "line-item-id",
+            "name": "balance-id",
             "in": "path",
-            "description": "The line item to interact with",
+            "description": "The balance to get campaigns from",
             "required": true,
             "style": "simple",
             "schema": {
               "type": "string"
             },
             "x-nullable": false
-          }
-        ],
-        "requestBody": {
-          "description": "The audience target to set the scope for",
-          "content": {
-            "application/json": {
-              "schema": {
-                "$ref": "#/components/schemas/AudienceTarget202110Request"
+          },
+          {
+            "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": "audienceTarget"
-        },
+          {
+            "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/AudienceTarget202110Response"
-                }
-              }
-            }
-          },
-          "400": {
-            "description": "Bad Request",
-            "content": {
-              "application/json": {
-                "schema": {
-                  "$ref": "#/components/schemas/AudienceTarget202110Response"
+                  "$ref": "#/components/schemas/BalanceCampaign202110PagedListResponse"
                 }
               }
             }
@@ -3250,18 +3264,18 @@
         }
       }
     },
-    "/2023-01/retail-media/preferred-line-items/{line-item-id}/targeting/audiences/append": {
+    "/2024-04/retail-media/balances/{balance-id}/campaigns/append": {
       "post": {
         "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": "appends one or more campaigns to the specified balance",
+        "operationId": "BalancesApi_PostApi202110ExternalBalanceCampaignsAppendByBalanceId",
         "parameters": [
           {
-            "name": "line-item-id",
+            "name": "balance-id",
             "in": "path",
-            "description": "The line item to interact with",
+            "description": "The balance to add campaigns from",
             "required": true,
             "style": "simple",
             "schema": {
@@ -3271,16 +3285,16 @@
           }
         ],
         "requestBody": {
-          "description": "Audience ids to append to the target",
+          "description": "The campaigns to append",
           "content": {
             "application/json": {
               "schema": {
-                "$ref": "#/components/schemas/AudienceIdsUpdateModel202110Request"
+                "$ref": "#/components/schemas/BalanceCampaign202110ListRequest"
               }
             }
           },
           "x-nullable": false,
-          "x-bodyName": "idsToAppend"
+          "x-bodyName": "campaigns"
         },
         "responses": {
           "200": {
@@ -3288,17 +3302,7 @@
             "content": {
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/AudienceTarget202110Response"
-                }
-              }
-            }
-          },
-          "400": {
-            "description": "Bad Request",
-            "content": {
-              "application/json": {
-                "schema": {
-                  "$ref": "#/components/schemas/AudienceTarget202110Response"
+                  "$ref": "#/components/schemas/BalanceCampaign202110PagedListResponse"
                 }
               }
             }
@@ -3306,18 +3310,18 @@
         }
       }
     },
-    "/2023-01/retail-media/preferred-line-items/{line-item-id}/targeting/audiences/delete": {
+    "/2024-04/retail-media/balances/{balance-id}/campaigns/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",
+        "description": "Removes one or more campaigns on the specified balance",
+        "operationId": "BalancesApi_PostApi202110ExternalBalanceCampaignsDeleteByBalanceId",
         "parameters": [
           {
-            "name": "line-item-id",
+            "name": "balance-id",
             "in": "path",
-            "description": "The line item to interact with",
+            "description": "The balance to remove campaigns from",
             "required": true,
             "style": "simple",
             "schema": {
@@ -3327,16 +3331,16 @@
           }
         ],
         "requestBody": {
-          "description": "Audience ids to remove from the target",
+          "description": "The campaigns to append",
           "content": {
             "application/json": {
               "schema": {
-                "$ref": "#/components/schemas/AudienceIdsUpdateModel202110Request"
+                "$ref": "#/components/schemas/BalanceCampaign202110ListRequest"
               }
             }
           },
           "x-nullable": false,
-          "x-bodyName": "idsToRemove"
+          "x-bodyName": "campaigns"
         },
         "responses": {
           "200": {
@@ -3344,17 +3348,7 @@
             "content": {
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/AudienceTarget202110Response"
-                }
-              }
-            }
-          },
-          "400": {
-            "description": "Bad Request",
-            "content": {
-              "application/json": {
-                "schema": {
-                  "$ref": "#/components/schemas/AudienceTarget202110Response"
+                  "$ref": "#/components/schemas/BalanceCampaign202110PagedListResponse"
                 }
               }
             }
@@ -3362,24 +3356,59 @@
         }
       }
     },
-    "/2023-01/retail-media/preferred-line-items/{line-item-id}/targeting/stores": {
+    "/2024-04/retail-media/campaigns/{campaign-id}/auction-line-items": {
       "get": {
         "tags": [
           "Campaign"
         ],
-        "description": "This endpoint gets the store target on the specified line item.",
-        "operationId": "TargetingApi_GetApi202110ExternalPreferredLineItemTargetingStoresByLineItemId",
+        "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": {
               "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": {
@@ -3388,7 +3417,7 @@
             "content": {
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/StoreTarget202110Response"
+                  "$ref": "#/components/schemas/AuctionLineItemPagedListResponse"
                 }
               }
             }
@@ -3398,24 +3427,24 @@
             "content": {
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/StoreTarget202110Response"
+                  "$ref": "#/components/schemas/AuctionLineItemPagedListResponse"
                 }
               }
             }
           }
         }
       },
-      "put": {
+      "post": {
         "tags": [
           "Campaign"
         ],
-        "description": "This endpoint sets the scope of the store target on the specified line item.",
-        "operationId": "TargetingApi_PutApi202110ExternalPreferredLineItemTargetingStoresByLineItemId",
+        "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": {
@@ -3425,24 +3454,24 @@
           }
         ],
         "requestBody": {
-          "description": "The store target to set the scope for",
+          "description": "The line item settings to create a line item with",
           "content": {
             "application/json": {
               "schema": {
-                "$ref": "#/components/schemas/StoreTarget202110Request"
+                "$ref": "#/components/schemas/AuctionLineItemCreateModelRequest"
               }
             }
           },
           "x-nullable": false,
-          "x-bodyName": "storeTarget"
+          "x-bodyName": "lineItem"
         },
         "responses": {
-          "200": {
+          "201": {
             "description": "Success",
             "content": {
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/StoreTarget202110Response"
+                  "$ref": "#/components/schemas/AuctionLineItemResponse"
                 }
               }
             }
@@ -3452,7 +3481,7 @@
             "content": {
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/StoreTarget202110Response"
+                  "$ref": "#/components/schemas/AuctionLineItemResponse"
                 }
               }
             }
@@ -3460,18 +3489,95 @@
         }
       }
     },
-    "/2023-01/retail-media/preferred-line-items/{line-item-id}/targeting/stores/append": {
-      "post": {
+    "/2024-04/retail-media/campaigns/{campaign-id}/preferred-line-items": {
+      "get": {
         "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": "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
+          },
+          {
+            "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/PreferredLineItem202110PagedListResponse"
+                }
+              }
+            }
+          },
+          "400": {
+            "description": "Bad Request",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/PreferredLineItem202110PagedListResponse"
+                }
+              }
+            }
+          }
+        }
+      },
+      "post": {
+        "tags": [
+          "Campaign"
+        ],
+        "description": "Creates a new preferred line item with the specified settings",
+        "operationId": "LineItemsApi_PostApi202110ExternalCampaignPreferredLineItemsByCampaignId",
+        "parameters": [
+          {
+            "name": "campaign-id",
+            "in": "path",
+            "description": "The given campaign id",
             "required": true,
             "style": "simple",
             "schema": {
@@ -3481,24 +3587,24 @@
           }
         ],
         "requestBody": {
-          "description": "Store ids to append to the target",
+          "description": "The line item settings to create a line item with",
           "content": {
             "application/json": {
               "schema": {
-                "$ref": "#/components/schemas/StoreIdsUpdateModel202110Request"
+                "$ref": "#/components/schemas/PreferredLineItemCreateModel202110Request"
               }
             }
           },
           "x-nullable": false,
-          "x-bodyName": "idsToAppend"
+          "x-bodyName": "lineItem"
         },
         "responses": {
-          "200": {
+          "201": {
             "description": "Success",
             "content": {
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/StoreTarget202110Response"
+                  "$ref": "#/components/schemas/PreferredLineItem202110Response"
                 }
               }
             }
@@ -3508,7 +3614,7 @@
             "content": {
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/StoreTarget202110Response"
+                  "$ref": "#/components/schemas/PreferredLineItem202110Response"
                 }
               }
             }
@@ -3516,18 +3622,50 @@
         }
       }
     },
-    "/2023-01/retail-media/preferred-line-items/{line-item-id}/targeting/stores/delete": {
-      "post": {
+    "/2024-04/retail-media/campaigns/{campaignId}": {
+      "get": {
         "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": "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": {
+              "type": "string"
+            },
+            "x-nullable": false
+          }
+        ],
+        "responses": {
+          "200": {
+            "description": "Success",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/JsonApiSingleResponseOfCampaignV202301"
+                }
+              }
+            }
+          }
+        }
+      },
+      "put": {
+        "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",
+        "parameters": [
+          {
+            "name": "campaignId",
+            "in": "path",
+            "description": "Campaign Id of the updating campaign",
             "required": true,
             "style": "simple",
             "schema": {
@@ -3537,16 +3675,16 @@
           }
         ],
         "requestBody": {
-          "description": "Store ids to remove from the target",
+          "description": "Editable campaign attributes",
           "content": {
             "application/json": {
               "schema": {
-                "$ref": "#/components/schemas/StoreIdsUpdateModel202110Request"
+                "$ref": "#/components/schemas/PutCampaignV202301"
               }
             }
           },
           "x-nullable": false,
-          "x-bodyName": "idsToRemove"
+          "x-bodyName": "campaign"
         },
         "responses": {
           "200": {
@@ -3554,308 +3692,2455 @@
             "content": {
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/StoreTarget202110Response"
+                  "$ref": "#/components/schemas/JsonApiSingleResponseOfCampaignV202301"
                 }
               }
             }
-          },
-          "400": {
-            "description": "Bad Request",
+          }
+        }
+      }
+    },
+    "/2024-04/retail-media/line-items/{line-item-id}": {
+      "get": {
+        "tags": [
+          "Campaign"
+        ],
+        "description": "Gets the line item for the given line item id",
+        "operationId": "GetApiV2ExternalLineItemByLineItemId",
+        "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/StoreTarget202110Response"
+                  "$ref": "#/components/schemas/CommonLineItemResponse"
                 }
               }
             }
           }
         }
       }
-    }
-  },
-  "components": {
-    "schemas": {
-      "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
+    },
+    "/2024-04/retail-media/line-items/{line-item-id}/bid-multipliers": {
+      "get": {
+        "tags": [
+          "Campaign"
+        ],
+        "description": "Get bid multipliers by line item",
+        "operationId": "LineItems_GetApi202301ExternalLineItemBidMultipliersByLineItemId",
+        "parameters": [
+          {
+            "name": "line-item-id",
+            "in": "path",
+            "description": "Long external id of the associated line item",
+            "required": true,
+            "style": "simple",
+            "schema": {
+              "type": "string"
+            }
           }
-        },
-        "description": "Response of ApplicationSummaryModel"
-      },
-      "ApplicationSummaryModelResource": {
-        "type": "object",
-        "properties": {
-          "type": {
-            "type": "string",
-            "nullable": true
-          },
-          "attributes": {
-            "$ref": "#/components/schemas/ApplicationSummaryModel"
+        ],
+        "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"
+                }
+              }
+            }
           }
-        },
-        "description": "A class that represents a ValueType in a guild compliant way"
+        }
       },
-      "CommonProblem": {
-        "type": "object",
-        "properties": {
-          "traceId": {
+      "put": {
+        "tags": [
+          "Campaign"
+        ],
+        "description": "Replace bid multipliers on a line item",
+        "operationId": "LineItems_PutApi202301ExternalLineItemBidMultipliersByLineItemId",
+        "parameters": [
+          {
+            "name": "line-item-id",
+            "in": "path",
+            "description": "Long external id of the associated line item",
+            "required": true,
+            "style": "simple",
+            "schema": {
+              "type": "string"
+            }
+          }
+        ],
+        "requestBody": {
+          "content": {
+            "application/json": {
+              "schema": {
+                "$ref": "#/components/schemas/LineItemBidMultipliersRequest"
+              }
+            }
+          },
+          "x-nullable": false,
+          "x-bodyName": "request"
+        },
+        "responses": {
+          "200": {
+            "description": "Success",
+            "content": {
+              "text/plain": {
+                "schema": {
+                  "$ref": "#/components/schemas/LineItemBidMultipliersResponse"
+                }
+              },
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/LineItemBidMultipliersResponse"
+                }
+              },
+              "text/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/LineItemBidMultipliersResponse"
+                }
+              }
+            }
+          }
+        }
+      }
+    },
+    "/2024-04/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
+          },
+          {
+            "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/PromotedProduct202110PagedListResponse"
+                }
+              }
+            }
+          }
+        }
+      }
+    },
+    "/2024-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",
+        "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 to append to this line item",
+          "content": {
+            "application/json": {
+              "schema": {
+                "$ref": "#/components/schemas/PromotedProduct202110ListRequest"
+              }
+            }
+          },
+          "x-nullable": false,
+          "x-bodyName": "promotedProductsToAppend"
+        },
+        "responses": {
+          "200": {
+            "description": "Success",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/PromotedProduct202110PagedListResponse"
+                }
+              }
+            }
+          }
+        }
+      }
+    },
+    "/2024-04/retail-media/line-items/{line-item-id}/products/delete": {
+      "post": {
+        "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",
+        "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": "",
+          "content": {
+            "application/json": {
+              "schema": {
+                "$ref": "#/components/schemas/PromotedProduct202110ListRequest"
+              }
+            }
+          },
+          "x-nullable": false,
+          "x-bodyName": "promotedProductsToRemove"
+        },
+        "responses": {
+          "200": {
+            "description": "Success",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/PromotedProduct202110PagedListResponse"
+                }
+              }
+            }
+          }
+        }
+      }
+    },
+    "/2024-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",
+        "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 pause.",
+          "content": {
+            "application/json": {
+              "schema": {
+                "$ref": "#/components/schemas/PromotedProduct202110ListRequest"
+              }
+            }
+          },
+          "x-nullable": false,
+          "x-bodyName": "promotedProductsToPause"
+        },
+        "responses": {
+          "200": {
+            "description": "Success"
+          }
+        }
+      }
+    },
+    "/2024-04/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-04/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"
+                }
+              }
+            }
+          },
+          "400": {
+            "description": "Bad Request",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/PreferredLineItem202110Response"
+                }
+              }
+            }
+          }
+        }
+      },
+      "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/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"
+                }
+              }
+            }
+          }
+        }
+      }
+    },
+    "/2024-04/retail-media/preferred-line-items/{line-item-id}/targeting/add-to-basket": {
+      "get": {
+        "tags": [
+          "Campaign"
+        ],
+        "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",
+            "in": "path",
+            "description": "The line item to interact with",
+            "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"
+              }
+            }
+          },
+          "x-nullable": false,
+          "x-bodyName": "addToBasketTarget"
+        },
+        "responses": {
+          "200": {
+            "description": "Success",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/AddToBasketTarget202110Response"
+                }
+              }
+            }
+          },
+          "400": {
+            "description": "Bad Request",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/AddToBasketTarget202110Response"
+                }
+              }
+            }
+          }
+        }
+      }
+    },
+    "/2024-04/retail-media/preferred-line-items/{line-item-id}/targeting/add-to-basket/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",
+        "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": "Ids to append to the target",
+          "content": {
+            "application/json": {
+              "schema": {
+                "$ref": "#/components/schemas/AddToBasketIdsUpdateModel202110Request"
+              }
+            }
+          },
+          "x-nullable": false,
+          "x-bodyName": "idsToAppend"
+        },
+        "responses": {
+          "200": {
+            "description": "Success",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/AddToBasketTarget202110Response"
+                }
+              }
+            }
+          },
+          "400": {
+            "description": "Bad Request",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/AddToBasketTarget202110Response"
+                }
+              }
+            }
+          }
+        }
+      }
+    },
+    "/2024-04/retail-media/preferred-line-items/{line-item-id}/targeting/add-to-basket/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",
+        "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": "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/AddToBasketTarget202110Response"
+                }
+              }
+            }
+          },
+          "400": {
+            "description": "Bad Request",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/AddToBasketTarget202110Response"
+                }
+              }
+            }
+          }
+        }
+      }
+    },
+    "/2024-04/retail-media/preferred-line-items/{line-item-id}/targeting/audiences": {
+      "get": {
+        "tags": [
+          "Campaign"
+        ],
+        "description": "This endpoint gets the audience target on the specified line item.",
+        "operationId": "TargetingApi_GetApi202110ExternalPreferredLineItemTargetingAudiencesByLineItemId",
+        "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/AudienceTarget202110Response"
+                }
+              }
+            }
+          },
+          "400": {
+            "description": "Bad Request",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/AudienceTarget202110Response"
+                }
+              }
+            }
+          }
+        }
+      },
+      "put": {
+        "tags": [
+          "Campaign"
+        ],
+        "description": "This endpoint sets the scope of the audience target on the specified line item.",
+        "operationId": "TargetingApi_PutApi202110ExternalPreferredLineItemTargetingAudiencesByLineItemId",
+        "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 audience target to set the scope for",
+          "content": {
+            "application/json": {
+              "schema": {
+                "$ref": "#/components/schemas/AudienceTarget202110Request"
+              }
+            }
+          },
+          "x-nullable": false,
+          "x-bodyName": "audienceTarget"
+        },
+        "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-04/retail-media/preferred-line-items/{line-item-id}/targeting/audiences/append": {
+      "post": {
+        "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",
+        "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 append to the target",
+          "content": {
+            "application/json": {
+              "schema": {
+                "$ref": "#/components/schemas/AudienceIdsUpdateModel202110Request"
+              }
+            }
+          },
+          "x-nullable": false,
+          "x-bodyName": "idsToAppend"
+        },
+        "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-04/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-04/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-04/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-04/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"
+          },
+          "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"
+      },
+      "JsonApiPageResponseOfAccount": {
+        "required": [
+          "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 <typeparamref name=\"T\" /> with metadata",
+        "x-nullable": false
+      },
+      "JsonApiPageResponseOfBrand": {
+        "required": [
+          "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 <typeparamref name=\"T\" /> with metadata",
+        "x-nullable": false
+      },
+      "JsonApiPageResponseOfRetailer": {
+        "required": [
+          "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 <typeparamref name=\"T\" /> with metadata",
+        "x-nullable": false
+      },
+      "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",
+        "x-nullable": false
+      },
+      "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",
+        "x-nullable": false
+      },
+      "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",
+        "x-nullable": false
+      },
+      "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 <typeparamref name=\"TAttributes\" /> with external Id, Type, and\r\nAttributes properties",
+        "x-nullable": false
+      },
+      "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 <typeparamref name=\"TAttributes\" /> with external Id, Type, and\r\nAttributes properties",
+        "x-nullable": false
+      },
+      "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 <typeparamref name=\"TAttributes\" /> with external Id, Type, and\r\nAttributes properties",
+        "x-nullable": false
+      },
+      "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
+            },
+            "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
+          }
+        },
+        "description": "A Retail Media Account used to launch campaigns and line items",
+        "x-nullable": false
+      },
+      "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",
+        "x-nullable": false
+      },
+      "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
+            },
+            "x-nullable": false
+          }
+        },
+        "description": "A Retail Media Retailer used to represent a selection of products from multiple brands",
+        "x-nullable": false
+      },
+      "AssetResponse": {
+        "type": "object",
+        "properties": {
+          "data": {
+            "$ref": "#/components/schemas/AssetResource"
+          },
+          "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": "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"
+          },
+          "id": {
+            "type": "string",
+            "nullable": true
+          },
+          "type": {
+            "type": "string",
+            "nullable": true
+          }
+        },
+        "description": "A class that represents an entity in a guild compliant way"
+      },
+      "Asset": {
+        "required": [
+          "fileExtension"
+        ],
+        "type": "object",
+        "properties": {
+          "fileExtension": {
+            "type": "string",
+            "description": "The file extension that is asset is representing. Example: jpg, png, gif or pdf."
+          },
+          "fileLocation": {
+            "type": "string",
+            "description": "A url pointing towards the static file the asset represents.",
+            "nullable": true
+          },
+          "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": {
+            "type": "array",
+            "items": {
+              "$ref": "#/components/schemas/RmLegacyAudienceGetEntityV1Resource"
+            },
+            "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"
+      },
+      "RmLegacyAudienceCreateEntityV1Response": {
+        "type": "object",
+        "properties": {
+          "data": {
+            "$ref": "#/components/schemas/RmLegacyAudienceCreateEntityV1Resource"
+          },
+          "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"
+      },
+      "RmLegacyAudienceGetEntityV2ListResponse": {
+        "type": "object",
+        "properties": {
+          "data": {
+            "type": "array",
+            "items": {
+              "$ref": "#/components/schemas/RmLegacyAudienceGetEntityV2Resource"
+            },
+            "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"
+      },
+      "RmLegacyAudienceCreateEntityV2Response": {
+        "type": "object",
+        "properties": {
+          "data": {
+            "$ref": "#/components/schemas/RmLegacyAudienceCreateEntityV2Resource"
+          },
+          "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"
+      },
+      "RmLegacyAudienceCreateInputEntityV1": {
+        "type": "object",
+        "properties": {
+          "data": {
+            "$ref": "#/components/schemas/RmLegacyAudienceCreateEntityV1Resource"
+          }
+        },
+        "description": "Input to create audience."
+      },
+      "RmLegacyAudienceCreateInputEntityV2": {
+        "type": "object",
+        "properties": {
+          "data": {
+            "$ref": "#/components/schemas/RmLegacyAudienceCreateEntityV2Resource"
+          }
+        },
+        "description": "Input to create audience."
+      },
+      "RmLegacyAudienceGetEntityV1Resource": {
+        "type": "object",
+        "properties": {
+          "attributes": {
+            "$ref": "#/components/schemas/RmLegacyAudienceGetEntityV1"
+          },
+          "id": {
             "type": "string",
-            "description": "The request correlation ID this problem comes from.",
             "nullable": true
           },
-          "traceIdentifier": {
+          "audienceType": {
+            "enum": [
+              "customerList",
+              "userBehavior"
+            ],
             "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
+          }
+        },
+        "description": "A class that represents a domain entity exposed by an API"
+      },
+      "RmLegacyAudienceCreateEntityV1Resource": {
+        "type": "object",
+        "properties": {
+          "attributes": {
+            "$ref": "#/components/schemas/RmLegacyAudienceCreateEntityV1"
+          },
+          "id": {
+            "type": "string",
+            "description": "Id of the entity",
             "nullable": true
           },
-          "code": {
+          "type": {
             "type": "string",
-            "description": "A machine-readable  error code, expressed as a string value.",
             "nullable": true
+          }
+        },
+        "description": "A class that represents a domain entity exposed by an API"
+      },
+      "RmLegacyAudienceGetEntityV2Resource": {
+        "type": "object",
+        "properties": {
+          "attributes": {
+            "$ref": "#/components/schemas/RmLegacyAudienceGetEntityV2"
           },
-          "instance": {
+          "id": {
             "type": "string",
-            "description": "A URI that identifies the specific occurrence of the problem.",
+            "description": "Id of the entity",
             "nullable": true
           },
-          "title": {
+          "type": {
+            "type": "string",
+            "nullable": true
+          }
+        },
+        "description": "A class that represents a domain entity exposed by an API"
+      },
+      "RmLegacyAudienceCreateEntityV2Resource": {
+        "type": "object",
+        "properties": {
+          "attributes": {
+            "$ref": "#/components/schemas/RmLegacyAudienceCreateEntityV2"
+          },
+          "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"
+      },
+      "RmLegacyAudienceGetEntityV1": {
+        "required": [
+          "name",
+          "retailerId"
+        ],
+        "type": "object",
+        "properties": {
+          "name": {
+            "type": "string",
+            "description": "Name of the audience"
+          },
+          "retailerId": {
+            "type": "string",
+            "description": "ID of the retailer associated with this audience"
+          },
+          "userBehaviorDetails": {
+            "$ref": "#/components/schemas/RmLegacySegmentUserBehaviorV1"
+          },
+          "customerListDetails": {
+            "$ref": "#/components/schemas/RmLegacySegmentCustomerList"
+          }
+        },
+        "description": "Audience definition of people of interest for a marketer.",
+        "x-criteo-canonical": {
+          "infoType": "entity",
+          "name": "RetailMediaAudienceSummary",
+          "version": "v1"
+        }
+      },
+      "RmLegacyAudienceCreateEntityV1": {
+        "required": [
+          "lookbackWindow",
+          "name",
+          "retailerId",
+          "userType"
+        ],
+        "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,
+            "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"
+          },
+          "name": {
+            "type": "string",
+            "description": "Name of the audience"
+          }
+        },
+        "description": "Audience definition",
+        "x-criteo-canonical": {
+          "infoType": "entity",
+          "name": "RetailMediaAudience",
+          "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"
+        }
+      },
+      "RmLegacyAudienceCreateEntityV2": {
+        "required": [
+          "name",
+          "retailerId",
+          "userBehaviorDetails"
+        ],
+        "type": "object",
+        "properties": {
+          "retailerId": {
+            "type": "integer",
+            "description": "ID of the retailer associated with this audience",
+            "format": "int64"
+          },
+          "userBehaviorDetails": {
+            "$ref": "#/components/schemas/RmLegacyAudienceUserBehaviorCreateV2"
+          },
+          "name": {
+            "type": "string",
+            "description": "Name of the audience"
+          }
+        },
+        "description": "Audience definition",
+        "x-criteo-canonical": {
+          "infoType": "entity",
+          "name": "RetailMediaAudience",
+          "version": "v1"
+        }
+      },
+      "RmLegacySegmentUserBehaviorV1": {
+        "required": [
+          "lookbackWindow",
+          "userType"
+        ],
+        "type": "object",
+        "properties": {
+          "userType": {
+            "enum": [
+              "viewer",
+              "buyer",
+              "addToCarter"
+            ],
+            "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": "A short human-readable description of the problem type",
-            "nullable": true
+            "description": "Length of lookback window"
           },
-          "detail": {
+          "targetType": {
+            "enum": [
+              "brand",
+              "category"
+            ],
             "type": "string",
-            "description": "A human-readable explanation specific to this occurrence of the problem",
+            "description": "Type of target",
             "nullable": true
           },
-          "source": {
-            "type": "object",
-            "additionalProperties": {
+          "targetIds": {
+            "uniqueItems": true,
+            "type": "array",
+            "items": {
               "type": "string"
             },
-            "description": "A machine-readable structure to reference to the exact location(s) causing the error(s)",
+            "description": "The categories to target",
             "nullable": true
-          },
-          "stackTrace": {
+          }
+        },
+        "description": "Audience definition of people based on what they visited"
+      },
+      "RmLegacySegmentCustomerList": {
+        "required": [
+          "isShared",
+          "size"
+        ],
+        "type": "object",
+        "properties": {
+          "size": {
             "type": "string",
-            "nullable": true
+            "description": "Number of users in the customer list audience."
+          },
+          "isShared": {
+            "type": "boolean",
+            "description": "Indicate if the audience is shared."
           }
         },
-        "description": "Common problem object. Can be specialized as needed."
+        "description": "Audience definition of people based on a customer list"
       },
-      "ApplicationSummaryModel": {
+      "RmLegacyAudienceUserBehaviorDetailsV2": {
+        "required": [
+          "inclusiveSegment"
+        ],
         "type": "object",
         "properties": {
-          "applicationId": {
-            "type": "integer",
-            "format": "int32",
-            "nullable": true
+          "inclusiveSegment": {
+            "$ref": "#/components/schemas/RmLegacySegmentUserBehaviorV2"
           },
-          "name": {
+          "exclusiveSegment": {
+            "$ref": "#/components/schemas/RmLegacySegmentUserBehaviorV2"
+          }
+        },
+        "description": "User Behavior Details."
+      },
+      "RmLegacyAudienceUserBehaviorCreateV2": {
+        "required": [
+          "inclusiveSegment"
+        ],
+        "type": "object",
+        "properties": {
+          "inclusiveSegment": {
+            "$ref": "#/components/schemas/RmLegacySegmentUserBehaviorCreateV2"
+          },
+          "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": {
+              "type": "integer",
+              "format": "int32"
+            },
+            "description": "The categories to target",
             "nullable": true
           },
-          "organizationId": {
-            "type": "integer",
-            "format": "int32",
+          "brandIds": {
+            "uniqueItems": true,
+            "type": "array",
+            "items": {
+              "type": "integer",
+              "format": "int64"
+            },
+            "description": "The brands to target",
             "nullable": true
           },
-          "description": {
-            "type": "string",
+          "minPrice": {
+            "type": "number",
+            "description": "The min price of targeted skus.",
+            "format": "double",
             "nullable": true
           },
-          "criteoService": {
-            "type": "string",
+          "maxPrice": {
+            "type": "number",
+            "description": "The max price of targeted skus.",
+            "format": "double",
             "nullable": true
           }
         },
-        "description": "Model of ApplicationSummary"
+        "description": "Audience definition of people based on what they visited"
       },
-      "JsonApiPageResponseOfAccount": {
+      "RmLegacySegmentUserBehaviorCreateV2": {
         "required": [
-          "data"
+          "lookbackWindow",
+          "userAction"
         ],
         "type": "object",
         "properties": {
-          "errors": {
-            "type": "array",
-            "items": {
-              "$ref": "#/components/schemas/CommonError"
-            },
-            "x-nullable": false
+          "userAction": {
+            "enum": [
+              "buy",
+              "view",
+              "addToCart"
+            ],
+            "type": "string",
+            "description": "Type of shopper activity used to generate the audience."
           },
-          "warnings": {
+          "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/CommonWarning"
+              "type": "integer",
+              "format": "int32"
             },
-            "x-nullable": false
-          },
-          "metadata": {
-            "$ref": "#/components/schemas/PageMetadata"
+            "description": "The categories to target",
+            "nullable": true
           },
-          "data": {
+          "brandIds": {
+            "uniqueItems": true,
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/JsonApiBodyWithIdOfInt64AndAccountAndAccount"
+              "type": "integer",
+              "format": "int64"
             },
-            "x-nullable": false
+            "description": "The brands to target",
+            "nullable": true
           }
         },
-        "description": "A wrapper class to return a single page of <typeparamref name=\"T\" /> with metadata",
-        "x-nullable": false
+        "description": "User Behavior Details."
       },
-      "JsonApiPageResponseOfBrand": {
-        "required": [
-          "data"
-        ],
+      "KeywordsModelResponse": {
         "type": "object",
         "properties": {
           "errors": {
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/CommonError"
+              "$ref": "#/components/schemas/RmcaCommonProblem"
             },
-            "x-nullable": false
+            "nullable": true,
+            "readOnly": true
           },
           "warnings": {
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/CommonWarning"
+              "$ref": "#/components/schemas/RmcaCommonProblem"
             },
-            "x-nullable": false
-          },
-          "metadata": {
-            "$ref": "#/components/schemas/PageMetadata"
+            "nullable": true,
+            "readOnly": true
           },
           "data": {
-            "type": "array",
-            "items": {
-              "$ref": "#/components/schemas/JsonApiBodyWithIdOfInt64AndBrandAndBrand"
-            },
-            "x-nullable": false
+            "$ref": "#/components/schemas/KeywordsModelResource"
           }
         },
-        "description": "A wrapper class to return a single page of <typeparamref name=\"T\" /> with metadata",
-        "x-nullable": false
+        "additionalProperties": false,
+        "description": "Response object containing keywords associated with a line item."
       },
-      "JsonApiPageResponseOfRetailer": {
-        "required": [
-          "data"
-        ],
+      "ResourceOutcome": {
         "type": "object",
         "properties": {
           "errors": {
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/CommonError"
+              "$ref": "#/components/schemas/RmcaCommonProblem"
             },
-            "x-nullable": false
+            "nullable": true,
+            "readOnly": true
           },
           "warnings": {
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/CommonWarning"
+              "$ref": "#/components/schemas/RmcaCommonProblem"
             },
-            "x-nullable": false
-          },
-          "metadata": {
-            "$ref": "#/components/schemas/PageMetadata"
+            "nullable": true,
+            "readOnly": true
+          }
+        },
+        "additionalProperties": false,
+        "description": "Outcome object containing errors and warnings."
+      },
+      "ProposalStatusModelResponse": {
+        "type": "object",
+        "properties": {
+          "errors": {
+            "type": "array",
+            "items": {
+              "$ref": "#/components/schemas/RmcaCommonProblem"
+            },
+            "nullable": true,
+            "readOnly": true
           },
-          "data": {
+          "warnings": {
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/JsonApiBodyWithIdOfInt64AndRetailerAndRetailer"
+              "$ref": "#/components/schemas/RmcaCommonProblem"
             },
-            "x-nullable": false
+            "nullable": true,
+            "readOnly": true
+          },
+          "data": {
+            "$ref": "#/components/schemas/ProposalStatusModelResource"
           }
         },
-        "description": "A wrapper class to return a single page of <typeparamref name=\"T\" /> with metadata",
-        "x-nullable": false
+        "additionalProperties": false,
+        "description": "Response object containing the state of a proposal in the context of a line item."
       },
-      "PageMetadata": {
-        "required": [
-          "currentPageSize",
-          "currentPageIndex"
-        ],
+      "AddRemoveKeywordsModelRequest": {
         "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": {
+          "data": {
+            "$ref": "#/components/schemas/AddRemoveKeywordsModelResource"
+          }
+        },
+        "additionalProperties": false,
+        "description": "Request object to add or remove keywords from a line item"
+      },
+      "SetBidsModelRequest": {
+        "type": "object",
+        "properties": {
+          "data": {
+            "$ref": "#/components/schemas/SetBidsModelResource"
+          }
+        },
+        "additionalProperties": false,
+        "description": "Request object to set bid overrides for keywords associated with a line item"
+      },
+      "KeywordsModelResource": {
+        "type": "object",
+        "properties": {
+          "id": {
             "type": "string",
-            "x-nullable": false
+            "nullable": true
           },
-          "previousPage": {
+          "type": {
             "type": "string",
-            "x-nullable": false
+            "nullable": true
+          },
+          "attributes": {
+            "$ref": "#/components/schemas/KeywordsModel"
           }
         },
-        "description": "Metadata related to the current request",
-        "x-nullable": false
+        "additionalProperties": false,
+        "description": "Resource object containing keywords associated with a line item."
       },
-      "CommonError": {
+      "RmcaCommonProblem": {
         "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
+            "description": "The request correlation ID this problem comes from.",
+            "nullable": true
           },
           "type": {
             "enum": [
@@ -3869,509 +6154,754 @@
               "validation"
             ],
             "type": "string",
-            "description": "(REQUIRED) The classification of the error.",
-            "x-nullable": false
+            "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 kabab-case.",
-            "x-nullable": false
+            "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.",
-            "x-nullable": false
+            "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.",
-            "x-nullable": false
+            "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.",
-            "x-nullable": false
+            "description": "A human-readable explanation specific to this occurrence of the problem",
+            "nullable": true
           },
           "source": {
             "type": "object",
             "additionalProperties": {
-              "type": "string",
-              "x-nullable": false
+              "type": "string"
             },
-            "description": "(OPTIONAL) A machine-readable structure to reference to the exact location(s) causing the error(s)",
-            "x-nullable": false
+            "description": "A machine-readable structure to reference to the exact location(s) causing the error(s)",
+            "nullable": true
           },
           "stackTrace": {
             "type": "string",
-            "description": "(NEVER IN PRODUCTION) A human-readable stacktrace produced by the implementation technology",
-            "x-nullable": false
+            "nullable": true
+          },
+          "status": {
+            "type": "integer",
+            "description": "The problem's HTTP Status code.",
+            "format": "int32",
+            "nullable": true
           }
         },
-        "description": "A JSON:API Common error structure",
-        "x-nullable": false
+        "additionalProperties": { },
+        "description": "Common problem object."
       },
-      "CommonWarning": {
+      "ProposalStatusModelResource": {
         "type": "object",
         "properties": {
-          "traceId": {
+          "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": {
-            "enum": [
-              "unknown",
-              "access-control",
-              "authentication",
-              "authorization",
-              "availability",
-              "deprecation",
-              "quota",
-              "validation"
-            ],
             "type": "string",
-            "description": "(REQUIRED) The classification of the error.",
-            "x-nullable": false
+            "nullable": true
           },
-          "code": {
+          "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",
-            "description": "(REQUIRED) A machine-readable unique error code, expressed as a string value. The format used must be kabab-case.",
-            "x-nullable": false
+            "nullable": true
           },
-          "instance": {
+          "type": {
             "type": "string",
-            "description": "(REQUIRED) A URI reference that identifies the specific occurrence of the problem.",
-            "x-nullable": false
+            "nullable": true
           },
-          "title": {
+          "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": {
             "type": "string",
-            "description": "(RECOMMENDED) A short, human-readable summary of the problem type.",
-            "x-nullable": false
+            "nullable": true
           },
-          "detail": {
+          "type": {
             "type": "string",
-            "description": "(RECOMMENDED) A human-readable explanation specific to this occurrence of the problem.",
-            "x-nullable": false
+            "nullable": true
           },
-          "source": {
+          "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": {
-              "type": "string",
-              "x-nullable": false
+              "$ref": "#/components/schemas/KeywordDataModel"
             },
-            "description": "(OPTIONAL) A machine-readable structure to reference to the exact location(s) causing the error(s)",
-            "x-nullable": false
+            "nullable": true
           },
-          "stackTrace": {
+          "rank": {
+            "type": "array",
+            "items": {
+              "type": "string"
+            },
+            "nullable": true
+          }
+        },
+        "additionalProperties": false,
+        "description": "The keywords associated with a line item."
+      },
+      "ProposalStatusModel": {
+        "type": "object",
+        "properties": {
+          "negotiationState": {
+            "$ref": "#/components/schemas/NegotiationStateModel"
+          },
+          "bookingStatus": {
+            "$ref": "#/components/schemas/ApprovalStatusModel"
+          },
+          "runnableStatus": {
+            "$ref": "#/components/schemas/ApprovalStatusModel"
+          },
+          "comment": {
             "type": "string",
-            "description": "(NEVER IN PRODUCTION) A human-readable stacktrace produced by the implementation technology",
-            "x-nullable": false
+            "nullable": true
+          },
+          "createdAt": {
+            "type": "string",
+            "format": "date-time",
+            "nullable": true
+          },
+          "updatedAt": {
+            "type": "string",
+            "format": "date-time",
+            "nullable": true
           }
         },
-        "description": "A JSON:API Base common warning",
-        "x-nullable": false
+        "additionalProperties": false,
+        "description": "The state of a proposal in the context of a line item."
       },
-      "JsonApiBodyWithIdOfInt64AndAccountAndAccount": {
-        "required": [
-          "id",
-          "type"
-        ],
+      "AddRemoveKeywordsModel": {
         "type": "object",
         "properties": {
-          "id": {
+          "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
+          }
+        },
+        "additionalProperties": false,
+        "description": "Data model containing keywords and their associated bid overrides"
+      },
+      "KeywordDataModel": {
+        "type": "object",
+        "properties": {
+          "reviewState": {
+            "$ref": "#/components/schemas/ReviewStateModel"
+          },
+          "matchType": {
+            "$ref": "#/components/schemas/MatchTypeModel"
+          },
+          "bid": {
+            "type": "number",
+            "format": "double",
+            "nullable": true
+          },
+          "inputKeywords": {
+            "$ref": "#/components/schemas/InputKeywordsModel"
+          },
+          "createdAt": {
             "type": "string",
-            "format": "long-id",
-            "x-nullable": false
+            "format": "date-time",
+            "nullable": true
           },
-          "type": {
+          "updatedAt": {
             "type": "string",
-            "x-nullable": false
+            "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
           },
-          "attributes": {
-            "$ref": "#/components/schemas/ExternalAccount"
+          "matchType": {
+            "$ref": "#/components/schemas/MatchTypeModel"
+          },
+          "isDeleted": {
+            "type": "boolean",
+            "nullable": true
           }
         },
-        "description": "A JSON:API wrapper class to format a <typeparamref name=\"TAttributes\" /> with external Id, Type, and\r\nAttributes properties",
-        "x-nullable": false
+        "additionalProperties": false,
+        "description": "A single keyword to be added or removed"
       },
-      "JsonApiBodyWithIdOfInt64AndBrandAndBrand": {
-        "required": [
-          "id",
-          "type"
-        ],
+      "SetBidModel": {
         "type": "object",
         "properties": {
-          "id": {
-            "type": "string",
-            "format": "long-id",
-            "x-nullable": false
-          },
-          "type": {
+          "phrase": {
+            "maxLength": 255,
+            "minLength": 0,
             "type": "string",
-            "x-nullable": false
+            "nullable": true
           },
-          "attributes": {
-            "$ref": "#/components/schemas/ExternalBrand"
+          "bid": {
+            "type": "number",
+            "format": "double",
+            "nullable": true
           }
         },
-        "description": "A JSON:API wrapper class to format a <typeparamref name=\"TAttributes\" /> with external Id, Type, and\r\nAttributes properties",
-        "x-nullable": false
+        "additionalProperties": false,
+        "description": "A single keyword and associated bid override"
       },
-      "JsonApiBodyWithIdOfInt64AndRetailerAndRetailer": {
-        "required": [
-          "id",
-          "type"
+      "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": {
-          "id": {
-            "type": "string",
-            "format": "long-id",
-            "x-nullable": false
+          "negativeBroad": {
+            "type": "array",
+            "items": {
+              "type": "string"
+            },
+            "nullable": true
           },
-          "type": {
-            "type": "string",
-            "x-nullable": false
+          "negativeExact": {
+            "type": "array",
+            "items": {
+              "type": "string"
+            },
+            "nullable": true
           },
-          "attributes": {
-            "$ref": "#/components/schemas/ExternalRetailer"
+          "positiveExact": {
+            "type": "array",
+            "items": {
+              "type": "string"
+            },
+            "nullable": true
           }
         },
-        "description": "A JSON:API wrapper class to format a <typeparamref name=\"TAttributes\" /> with external Id, Type, and\r\nAttributes properties",
-        "x-nullable": false
+        "additionalProperties": false,
+        "description": "The keywords to be added or removed from a line item."
       },
-      "ExternalAccount": {
-        "required": [
-          "name",
-          "type",
-          "countries",
-          "currency",
-          "parentAccountLabel",
-          "timeZone"
-        ],
+      "Creative202110ListResponse": {
         "type": "object",
         "properties": {
-          "name": {
-            "maxLength": 510,
-            "minLength": 0,
-            "type": "string",
-            "x-nullable": false
-          },
-          "type": {
-            "enum": [
-              "unknown",
-              "supply",
-              "demand"
-            ],
-            "type": "string",
+          "data": {
+            "type": "array",
+            "items": {
+              "$ref": "#/components/schemas/ResourceOfCreative202110"
+            },
             "x-nullable": false
           },
-          "subtype": {
-            "enum": [
-              "unknown",
-              "brand",
-              "seller"
-            ],
-            "type": "string",
-            "nullable": true,
-            "x-nullable": true
-          },
-          "countries": {
+          "warnings": {
             "type": "array",
             "items": {
-              "type": "string",
-              "x-nullable": false
+              "$ref": "#/components/schemas/ProblemDetails"
             },
+            "readOnly": true,
             "x-nullable": false
           },
-          "currency": {
-            "type": "string",
+          "errors": {
+            "type": "array",
+            "items": {
+              "$ref": "#/components/schemas/ProblemDetails"
+            },
+            "readOnly": true,
             "x-nullable": false
+          }
+        },
+        "description": "Data model for a list of response resources",
+        "x-nullable": false
+      },
+      "Creative202210Response": {
+        "type": "object",
+        "properties": {
+          "data": {
+            "$ref": "#/components/schemas/ResourceOfCreative202210"
           },
-          "parentAccountLabel": {
-            "maxLength": 510,
-            "minLength": 0,
-            "type": "string",
+          "warnings": {
+            "type": "array",
+            "items": {
+              "$ref": "#/components/schemas/ProblemDetails"
+            },
+            "readOnly": true,
             "x-nullable": false
           },
-          "timeZone": {
-            "type": "string",
+          "errors": {
+            "type": "array",
+            "items": {
+              "$ref": "#/components/schemas/ProblemDetails"
+            },
+            "readOnly": true,
             "x-nullable": false
-          },
-          "companyName": {
-            "type": "string",
-            "nullable": true
           }
         },
-        "description": "A Retail Media Account used to launch campaigns and line items",
+        "description": "Data model for response resource",
         "x-nullable": false
       },
-      "ExternalBrand": {
-        "required": [
-          "name"
-        ],
+      "Creative202210ListResponse": {
         "type": "object",
         "properties": {
-          "name": {
-            "maxLength": 120,
-            "minLength": 0,
-            "type": "string",
+          "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,
             "x-nullable": false
           }
         },
-        "description": "A Retail Media Brand used to represent a collection of products sold under the same umbrella name",
+        "description": "Data model for a list of response resources",
         "x-nullable": false
       },
-      "ExternalRetailer": {
+      "JsonApiSingleResponseOfCatalogStatus": {
         "required": [
-          "name"
+          "data"
         ],
         "type": "object",
         "properties": {
-          "name": {
-            "maxLength": 100,
-            "type": "string",
+          "data": {
+            "$ref": "#/components/schemas/JsonApiBodyWithIdOfInt64AndCatalogStatusAndCatalogStatus"
+          },
+          "errors": {
+            "type": "array",
+            "items": {
+              "$ref": "#/components/schemas/CommonError"
+            },
             "x-nullable": false
           },
-          "campaignEligibilities": {
+          "warnings": {
             "type": "array",
             "items": {
-              "enum": [
-                "unknown",
-                "auction",
-                "preferred"
-              ],
-              "type": "string",
-              "x-nullable": false
+              "$ref": "#/components/schemas/CommonWarning"
             },
             "x-nullable": false
           }
         },
-        "description": "A Retail Media Retailer used to represent a selection of products from multiple brands",
+        "description": "A JSON:API wrapper class to add one JSON:API <typeparamref name=\"T\" /> within a data property",
         "x-nullable": false
       },
-      "AssetResponse": {
+      "Category202204ListResponse": {
         "type": "object",
         "properties": {
           "data": {
-            "$ref": "#/components/schemas/AssetResource"
+            "type": "array",
+            "items": {
+              "$ref": "#/components/schemas/ResourceOfCategory202204"
+            },
+            "x-nullable": false
           },
           "warnings": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/CommonProblem"
+              "$ref": "#/components/schemas/ProblemDetails"
             },
-            "nullable": true,
-            "readOnly": true
+            "readOnly": true,
+            "x-nullable": false
           },
           "errors": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/CommonProblem"
+              "$ref": "#/components/schemas/ProblemDetails"
             },
-            "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"
-          },
-          "id": {
-            "type": "string",
-            "nullable": true
-          },
-          "type": {
-            "type": "string",
-            "nullable": true
+            "readOnly": true,
+            "x-nullable": false
           }
         },
-        "description": "A class that represents an entity in a guild compliant way"
+        "description": "Data model for a list of response resources",
+        "x-nullable": false
       },
-      "Asset": {
+      "Category202204": {
         "required": [
-          "fileExtension"
+          "text",
+          "name",
+          "parentId"
         ],
         "type": "object",
         "properties": {
-          "fileExtension": {
+          "text": {
             "type": "string",
-            "description": "The file extension that is asset is representing. Example: jpg, png, gif or pdf."
+            "description": "Category Text",
+            "x-nullable": false
           },
-          "fileLocation": {
-            "type": "string",
-            "description": "A url pointing towards the static file the asset represents.",
-            "nullable": true
+          "name": {
+            "type": "string",
+            "description": "Category Name",
+            "x-nullable": false
           },
-          "id": {
+          "parentId": {
             "type": "string",
-            "nullable": true
+            "description": "Category ParentId",
+            "x-nullable": false
           }
         },
-        "description": "Handles pointing towards binary content that advertisers can use later on, for example in their creatives."
+        "description": "List of retailer's categories, including the full hierarchy of categories and their parent category ID",
+        "x-nullable": false
       },
-      "RmLegacyAudienceGetEntityV1ListResponse": {
+      "TemplateListResponse": {
         "type": "object",
         "properties": {
           "data": {
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/RmLegacyAudienceGetEntityV1Resource"
+              "$ref": "#/components/schemas/ResourceOfTemplate"
             },
-            "nullable": true
+            "x-nullable": false
           },
           "warnings": {
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/CommonProblem"
+              "$ref": "#/components/schemas/ProblemDetails"
             },
-            "nullable": true,
-            "readOnly": true
+            "readOnly": true,
+            "x-nullable": false
           },
           "errors": {
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/CommonProblem"
+              "$ref": "#/components/schemas/ProblemDetails"
             },
-            "nullable": true,
-            "readOnly": true
+            "readOnly": true,
+            "x-nullable": false
           }
         },
-        "description": "List of responses"
+        "description": "Data model for a list of response resources",
+        "x-nullable": false
       },
-      "RmLegacyAudienceCreateEntityV1Response": {
+      "TemplateResponse": {
         "type": "object",
         "properties": {
           "data": {
-            "$ref": "#/components/schemas/RmLegacyAudienceCreateEntityV1Resource"
+            "$ref": "#/components/schemas/ResourceOfTemplate"
           },
           "warnings": {
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/CommonProblem"
+              "$ref": "#/components/schemas/ProblemDetails"
             },
-            "nullable": true,
-            "readOnly": true
+            "readOnly": true,
+            "x-nullable": false
           },
           "errors": {
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/CommonProblem"
+              "$ref": "#/components/schemas/ProblemDetails"
             },
-            "nullable": true,
-            "readOnly": true
+            "readOnly": true,
+            "x-nullable": false
           }
         },
-        "description": "A top-level object that encapsulates a Criteo API response for a single entity"
+        "description": "Data model for response resource",
+        "x-nullable": false
       },
-      "RmLegacyAudienceGetEntityV2ListResponse": {
+      "ExternalRetailerPages202110": {
         "type": "object",
         "properties": {
-          "data": {
+          "pageTypes": {
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/RmLegacyAudienceGetEntityV2Resource"
+              "type": "string",
+              "x-nullable": false
             },
-            "nullable": 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": {
-            "type": "array",
-            "items": {
-              "$ref": "#/components/schemas/CommonProblem"
-            },
-            "nullable": true,
-            "readOnly": true
+          "brandId": {
+            "type": "integer",
+            "description": "The brand associated to the creative",
+            "format": "int64",
+            "x-nullable": false
           },
-          "errors": {
+          "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/CommonProblem"
+              "$ref": "#/components/schemas/TemplateVariableValue"
             },
-            "nullable": true,
-            "readOnly": true
+            "description": "The template chosen values",
+            "x-nullable": false
           }
         },
-        "description": "A top-level object that encapsulates a Criteo API response for several entities"
+        "description": "Create model of a creative",
+        "x-nullable": false
       },
-      "RmLegacyAudienceCreateEntityV2Response": {
+      "CreativeUpdateModel202207": {
+        "required": [
+          "name",
+          "retailerId",
+          "templateId",
+          "templateVariableValues"
+        ],
         "type": "object",
         "properties": {
-          "data": {
-            "$ref": "#/components/schemas/RmLegacyAudienceCreateEntityV2Resource"
+          "name": {
+            "type": "string",
+            "description": "The name of the creative",
+            "x-nullable": false
           },
-          "warnings": {
-            "type": "array",
-            "items": {
-              "$ref": "#/components/schemas/CommonProblem"
-            },
-            "nullable": true,
-            "readOnly": true
+          "brandId": {
+            "type": "integer",
+            "description": "The brand associated to the creative",
+            "format": "int64",
+            "x-nullable": false
           },
-          "errors": {
+          "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/CommonProblem"
+              "$ref": "#/components/schemas/TemplateVariableValue"
             },
-            "nullable": true,
-            "readOnly": true
+            "description": "The template chosen values",
+            "x-nullable": false
           }
         },
-        "description": "A top-level object that encapsulates a Criteo API response for a single entity"
+        "description": "Update model of a creative",
+        "x-nullable": false
       },
-      "RmLegacyAudienceCreateInputEntityV1": {
+      "JsonApiRequestOfCatalogRequest": {
         "type": "object",
         "properties": {
           "data": {
-            "$ref": "#/components/schemas/RmLegacyAudienceCreateEntityV1Resource"
+            "$ref": "#/components/schemas/JsonApiBodyWithoutIdOfCatalogRequestAndCatalogRequest"
           }
         },
-        "description": "Input to create audience."
+        "description": "A JSON:API wrapper class to format a <typeparamref name=\"TAttributes\" /> with Type, and Attributes properties",
+        "x-nullable": false
       },
-      "RmLegacyAudienceCreateInputEntityV2": {
+      "ResourceOfCreative202110": {
         "type": "object",
         "properties": {
-          "data": {
-            "$ref": "#/components/schemas/RmLegacyAudienceCreateEntityV2Resource"
+          "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"
           }
         },
-        "description": "Input to create audience."
+        "description": "Data model for a Resource",
+        "x-nullable": false
       },
-      "RmLegacyAudienceGetEntityV1Resource": {
+      "ProblemDetails": {
         "type": "object",
         "properties": {
-          "attributes": {
-            "$ref": "#/components/schemas/RmLegacyAudienceGetEntityV1"
+          "traceId": {
+            "type": "string",
+            "description": "The request correlation ID this problem comes from.",
+            "nullable": true
           },
-          "id": {
+          "traceIdentifier": {
             "type": "string",
+            "description": "The request correlation ID this problem comes from. (deprecated, use traceId instead)",
             "nullable": true
           },
-          "audienceType": {
+          "type": {
             "enum": [
-              "customerList",
-              "userBehavior"
+              "unknown",
+              "access-control",
+              "authentication",
+              "authorization",
+              "availability",
+              "deprecation",
+              "quota",
+              "validation"
             ],
             "type": "string",
-            "nullable": true
+            "description": "The problem's category.",
+            "x-nullable": false
           },
-          "type": {
+          "code": {
             "type": "string",
-            "nullable": true
+            "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
           }
         },
-        "description": "Legacy resource"
+        "description": "Data model for common error or warning",
+        "x-nullable": false
       },
-      "RmLegacyAudienceCreateEntityV1Resource": {
+      "ResourceOfCreative202210": {
         "type": "object",
         "properties": {
           "attributes": {
-            "$ref": "#/components/schemas/RmLegacyAudienceCreateEntityV1"
+            "$ref": "#/components/schemas/Creative202210"
           },
           "id": {
             "type": "string",
@@ -4380,16 +6910,41 @@
           },
           "type": {
             "type": "string",
+            "description": "Canonical type name of the entity",
             "nullable": true
           }
         },
-        "description": "A class that represents a domain entity exposed by an API"
+        "description": "Data model for a Resource",
+        "x-nullable": false
       },
-      "RmLegacyAudienceGetEntityV2Resource": {
+      "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 <typeparamref name=\"TAttributes\" /> with external Id, Type, and\r\nAttributes properties",
+        "x-nullable": false
+      },
+      "ResourceOfCategory202204": {
         "type": "object",
         "properties": {
           "attributes": {
-            "$ref": "#/components/schemas/RmLegacyAudienceGetEntityV2"
+            "$ref": "#/components/schemas/Category202204"
           },
           "id": {
             "type": "string",
@@ -4398,16 +6953,18 @@
           },
           "type": {
             "type": "string",
+            "description": "Canonical type name of the entity",
             "nullable": true
           }
         },
-        "description": "A class that represents a domain entity exposed by an API"
+        "description": "Data model for a Resource",
+        "x-nullable": false
       },
-      "RmLegacyAudienceCreateEntityV2Resource": {
+      "ResourceOfTemplate": {
         "type": "object",
         "properties": {
           "attributes": {
-            "$ref": "#/components/schemas/RmLegacyAudienceCreateEntityV2"
+            "$ref": "#/components/schemas/Template"
           },
           "id": {
             "type": "string",
@@ -4416,1178 +6973,1560 @@
           },
           "type": {
             "type": "string",
+            "description": "Canonical type name of the entity",
             "nullable": true
           }
         },
-        "description": "A class that represents a domain entity exposed by an API"
+        "description": "Data model for a Resource",
+        "x-nullable": false
       },
-      "RmLegacyAudienceGetEntityV1": {
+      "TemplateVariableValue": {
         "required": [
-          "name",
-          "retailerId"
+          "id"
         ],
         "type": "object",
         "properties": {
-          "name": {
+          "id": {
             "type": "string",
-            "description": "Name of the audience"
+            "description": "The id of the template variable the value is applied to",
+            "x-nullable": false
           },
-          "retailerId": {
-            "type": "string",
-            "description": "ID of the retailer associated with this audience"
+          "textVariableValue": {
+            "$ref": "#/components/schemas/TextVariableValue"
           },
-          "userBehaviorDetails": {
-            "$ref": "#/components/schemas/RmLegacySegmentUserBehaviorV1"
+          "choiceVariableValue": {
+            "$ref": "#/components/schemas/ChoiceVariableValue"
           },
-          "customerListDetails": {
-            "$ref": "#/components/schemas/RmLegacySegmentCustomerList"
+          "colorVariableValue": {
+            "$ref": "#/components/schemas/ColorVariableValue"
+          },
+          "filesVariableValue": {
+            "$ref": "#/components/schemas/FilesVariableValue"
+          },
+          "hyperlinkVariableValue": {
+            "$ref": "#/components/schemas/HyperlinkVariableValue"
           }
         },
-        "description": "Audience definition of people of interest for a marketer.",
-        "x-criteo-canonical": {
-          "infoType": "entity",
-          "name": "RetailMediaAudienceSummary",
-          "version": "v1"
-        }
+        "description": "A value for a variable in a creative template.",
+        "x-nullable": false
       },
-      "RmLegacyAudienceCreateEntityV1": {
+      "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 <typeparamref name=\"TAttributes\" /> with Type, and\r\nAttributes properties",
+        "x-nullable": false
+      },
+      "Creative202110": {
         "required": [
-          "lookbackWindow",
           "name",
-          "retailerId",
-          "userType"
+          "status",
+          "retailerId"
         ],
         "type": "object",
         "properties": {
-          "userType": {
-            "enum": [
-              "viewer",
-              "buyer",
-              "addToCarter"
-            ],
+          "name": {
             "type": "string",
-            "description": "Type of the user"
+            "x-nullable": false
           },
-          "lookbackWindow": {
+          "status": {
             "enum": [
-              "P7D",
-              "P14D",
-              "P30D",
-              "P45D",
-              "P60D",
-              "P90D",
-              "P120D",
-              "P150D",
-              "P180D"
+              "Ready",
+              "In_Use",
+              "Archived",
+              "Deleted"
             ],
             "type": "string",
-            "description": "Length of lookback window"
+            "x-nullable": false
           },
-          "brandIds": {
-            "uniqueItems": true,
-            "type": "array",
-            "items": {
-              "type": "integer",
-              "format": "int64"
-            },
-            "description": "The brands to target",
-            "nullable": true
+          "brandId": {
+            "type": "integer",
+            "format": "int64",
+            "nullable": true,
+            "x-nullable": true
           },
-          "categoryIds": {
-            "uniqueItems": true,
+          "retailerId": {
+            "type": "integer",
+            "format": "int32",
+            "x-nullable": false
+          },
+          "associatedLineItemIds": {
             "type": "array",
             "items": {
-              "type": "integer",
-              "format": "int32"
+              "type": "string",
+              "x-nullable": false
             },
-            "description": "The categories to target",
-            "nullable": true
-          },
-          "retailerId": {
-            "type": "integer",
-            "description": "ID of the retailer associated with this audience",
-            "format": "int64"
+            "x-nullable": false
           },
-          "name": {
+          "updatedAt": {
             "type": "string",
-            "description": "Name of the audience"
+            "format": "date-time",
+            "x-nullable": false
           }
         },
-        "description": "Audience definition",
-        "x-criteo-canonical": {
-          "infoType": "entity",
-          "name": "RetailMediaAudience",
-          "version": "v1"
-        }
+        "description": "Metadata and usage info of a preferred deals creative",
+        "x-nullable": false
       },
-      "RmLegacyAudienceGetEntityV2": {
+      "Creative202210": {
         "required": [
           "name",
-          "retailerId"
+          "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
+          },
+          "templateId": {
+            "type": "integer",
+            "description": "Template Id",
+            "format": "int32",
+            "x-nullable": false
+          },
+          "templateName": {
             "type": "string",
-            "description": "ID of the retailer associated with this audience"
+            "description": "Template Name",
+            "x-nullable": false
           },
-          "userBehaviorDetails": {
-            "$ref": "#/components/schemas/RmLegacyAudienceUserBehaviorDetailsV2"
+          "formatId": {
+            "type": "integer",
+            "description": "Format Id",
+            "format": "int32",
+            "x-nullable": false
           },
-          "customerListDetails": {
-            "$ref": "#/components/schemas/RmLegacySegmentCustomerList"
+          "associatedLineItemIds": {
+            "type": "array",
+            "items": {
+              "type": "string",
+              "x-nullable": false
+            },
+            "description": "Associated Line Item Ids",
+            "x-nullable": false
           },
-          "name": {
+          "updatedAt": {
             "type": "string",
-            "description": "Name of the audience"
+            "description": "Updated at time",
+            "format": "date-time",
+            "x-nullable": false
+          },
+          "creativeFormatType": {
+            "enum": [
+              "Unknown",
+              "FlagShip",
+              "Showcase",
+              "SponsoredProducts",
+              "Butterfly",
+              "BundleBoost",
+              "IAB",
+              "CUSTOM",
+              "DisplayPanel",
+              "DigitalShelfTalker"
+            ],
+            "type": "string",
+            "description": "Creative format type",
+            "x-nullable": false
+          },
+          "environments": {
+            "type": "array",
+            "items": {
+              "$ref": "#/components/schemas/PageTypeEnvironment"
+            },
+            "description": "Environment type (e.g. mobile, web, app)",
+            "x-nullable": false
+          },
+          "templateVariableValues": {
+            "type": "array",
+            "items": {
+              "$ref": "#/components/schemas/TemplateVariableValue"
+            },
+            "description": "The template chosen values",
+            "x-nullable": false
           }
         },
-        "description": "Audience definition of people of interest for a marketer",
-        "x-criteo-canonical": {
-          "infoType": "entity",
-          "name": "RetailMediaAudience",
-          "version": "v1"
-        }
+        "description": "A creative entity",
+        "x-nullable": false
       },
-      "RmLegacyAudienceCreateEntityV2": {
+      "ExternalCatalogStatus": {
         "required": [
-          "name",
-          "retailerId",
-          "userBehaviorDetails"
+          "status",
+          "currency",
+          "rowCount",
+          "fileSizeBytes",
+          "md5Checksum",
+          "createdAt",
+          "message"
         ],
         "type": "object",
         "properties": {
-          "retailerId": {
+          "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": "ID of the retailer associated with this audience",
-            "format": "int64"
+            "description": "The size of this catalog in bytes. Available when this catalog reaches a success status.",
+            "format": "int32",
+            "nullable": true,
+            "x-nullable": true
           },
-          "userBehaviorDetails": {
-            "$ref": "#/components/schemas/RmLegacyAudienceUserBehaviorCreateV2"
+          "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
           },
-          "name": {
+          "createdAt": {
             "type": "string",
-            "description": "Name of the audience"
+            "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": "Audience definition",
-        "x-criteo-canonical": {
-          "infoType": "entity",
-          "name": "RetailMediaAudience",
-          "version": "v1"
-        }
+        "description": "The status of an asynchronous request to generate a catalog",
+        "x-nullable": false
       },
-      "RmLegacySegmentUserBehaviorV1": {
+      "Template": {
         "required": [
-          "lookbackWindow",
-          "userType"
+          "creativeFormat",
+          "name",
+          "skuCollectionMin",
+          "skuPerCollectionMin",
+          "allCollectionsMandatory",
+          "createdAt",
+          "updatedAt",
+          "sections"
         ],
         "type": "object",
         "properties": {
-          "userType": {
+          "creativeFormat": {
             "enum": [
-              "viewer",
-              "buyer",
-              "addToCarter"
+              "Unknown",
+              "FlagShip",
+              "Showcase",
+              "SponsoredProducts",
+              "Butterfly",
+              "BundleBoost",
+              "IAB",
+              "CUSTOM",
+              "DisplayPanel",
+              "DigitalShelfTalker"
             ],
             "type": "string",
-            "description": "Type of shopper activity used to generate the audience."
+            "description": "The kind of creative this template can be used to build.",
+            "x-nullable": false
           },
-          "lookbackWindow": {
-            "enum": [
-              "P7D",
-              "P14D",
-              "P30D",
-              "P45D",
-              "P60D",
-              "P90D",
-              "P120D",
-              "P150D",
-              "P180D"
-            ],
+          "name": {
             "type": "string",
-            "description": "Length of lookback window"
+            "description": "The name of the template",
+            "x-nullable": false
           },
-          "targetType": {
-            "enum": [
-              "brand",
-              "category"
-            ],
+          "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
+          },
+          "createdAt": {
             "type": "string",
-            "description": "Type of target",
-            "nullable": true
+            "description": "The time at which the template was created",
+            "format": "date-time",
+            "x-nullable": false
           },
-          "targetIds": {
-            "uniqueItems": true,
+          "updatedAt": {
+            "type": "string",
+            "description": "The time at which the template was updated",
+            "format": "date-time",
+            "x-nullable": false
+          },
+          "sections": {
             "type": "array",
             "items": {
-              "type": "string"
+              "$ref": "#/components/schemas/Section"
             },
-            "description": "The categories to target",
-            "nullable": true
+            "description": "The sections holding various template variables",
+            "x-nullable": false
           }
         },
-        "description": "Audience definition of people based on what they visited"
+        "description": "A template for creating creatives.",
+        "x-nullable": false
       },
-      "RmLegacySegmentCustomerList": {
+      "TextVariableValue": {
         "required": [
-          "isShared",
-          "size"
+          "text"
         ],
         "type": "object",
         "properties": {
-          "size": {
+          "text": {
             "type": "string",
-            "description": "Number of users in the customer list audience."
-          },
-          "isShared": {
-            "type": "boolean",
-            "description": "Indicate if the audience is shared."
+            "description": "The displayed text",
+            "x-nullable": false
           }
         },
-        "description": "Audience definition of people based on a customer list"
+        "description": "A value of a template text variable",
+        "x-nullable": false
       },
-      "RmLegacyAudienceUserBehaviorDetailsV2": {
+      "ChoiceVariableValue": {
         "required": [
-          "inclusiveSegment"
+          "chosenOptions"
         ],
         "type": "object",
         "properties": {
-          "inclusiveSegment": {
-            "$ref": "#/components/schemas/RmLegacySegmentUserBehaviorV2"
-          },
-          "exclusiveSegment": {
-            "$ref": "#/components/schemas/RmLegacySegmentUserBehaviorV2"
+          "chosenOptions": {
+            "type": "array",
+            "items": {
+              "type": "string",
+              "x-nullable": false
+            },
+            "description": "The chosen options",
+            "x-nullable": false
           }
         },
-        "description": "User Behavior Details."
+        "description": "A value of a template choice variable (among different accepted options)",
+        "x-nullable": false
       },
-      "RmLegacyAudienceUserBehaviorCreateV2": {
+      "ColorVariableValue": {
         "required": [
-          "inclusiveSegment"
+          "color"
         ],
         "type": "object",
         "properties": {
-          "inclusiveSegment": {
-            "$ref": "#/components/schemas/RmLegacySegmentUserBehaviorCreateV2"
-          },
-          "exclusiveSegment": {
-            "$ref": "#/components/schemas/RmLegacySegmentUserBehaviorCreateV2"
+          "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": "User Behavior to include and optionally exclude."
+        "description": "A value of a template color variable",
+        "x-nullable": false
       },
-      "RmLegacySegmentUserBehaviorV2": {
+      "FilesVariableValue": {
         "required": [
-          "lookbackWindow",
-          "userAction"
+          "assetIds"
         ],
         "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": {
-              "type": "integer",
-              "format": "int32"
-            },
-            "description": "The categories to target",
-            "nullable": true
-          },
-          "brandIds": {
-            "uniqueItems": true,
+          "assetIds": {
+            "minLength": 1,
             "type": "array",
             "items": {
-              "type": "integer",
-              "format": "int64"
+              "type": "string",
+              "x-nullable": false
             },
-            "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
+            "description": "The assets representing the images to be displayed",
+            "x-nullable": false
           }
         },
-        "description": "Audience definition of people based on what they visited"
+        "description": "A value of a template file variable (one or several files), like images in a creative",
+        "x-nullable": false
       },
-      "RmLegacySegmentUserBehaviorCreateV2": {
+      "HyperlinkVariableValue": {
         "required": [
-          "lookbackWindow",
-          "userAction"
+          "url"
         ],
         "type": "object",
         "properties": {
-          "userAction": {
-            "enum": [
-              "buy",
-              "view",
-              "addToCart"
-            ],
+          "url": {
             "type": "string",
-            "description": "Type of shopper activity used to generate the audience."
-          },
-          "lookbackWindow": {
+            "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": {
             "enum": [
-              "P7D",
-              "P14D",
-              "P30D",
-              "P45D",
-              "P60D",
-              "P90D",
-              "P120D",
-              "P150D",
-              "P180D"
+              "json-newline"
             ],
             "type": "string",
-            "description": "Length of lookback window"
-          },
-          "categoryIds": {
-            "uniqueItems": true,
-            "type": "array",
-            "items": {
-              "type": "integer",
-              "format": "int32"
-            },
-            "description": "The categories to target",
-            "nullable": true
+            "default": "json-newline",
+            "x-nullable": false
           },
-          "brandIds": {
-            "uniqueItems": true,
+          "brandIdFilter": {
             "type": "array",
             "items": {
-              "type": "integer",
-              "format": "int64"
+              "type": "string",
+              "format": "long-id"
             },
-            "description": "The brands to target",
-            "nullable": true
+            "x-nullable": false
           }
         },
-        "description": "User Behavior Details."
+        "description": "A request for a catalog under the specified format. Currently \"json-newline\" is supported.",
+        "x-nullable": false
       },
-      "Creative202110ListResponse": {
+      "PageTypeEnvironment": {
         "type": "object",
         "properties": {
-          "data": {
-            "type": "array",
-            "items": {
-              "$ref": "#/components/schemas/ResourceOfCreative202110"
-            },
+          "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
       },
-      "JsonApiSingleResponseOfCatalogStatus": {
+      "TemplateVariable": {
         "required": [
-          "data"
+          "id",
+          "required",
+          "type"
         ],
         "type": "object",
         "properties": {
-          "data": {
-            "$ref": "#/components/schemas/JsonApiBodyWithIdOfInt64AndCatalogStatusAndCatalogStatus"
+          "id": {
+            "type": "string",
+            "description": "The id of the variable",
+            "x-nullable": false
           },
-          "errors": {
-            "type": "array",
-            "items": {
-              "$ref": "#/components/schemas/CommonError"
-            },
+          "required": {
+            "type": "boolean",
+            "description": "Whether the variable is required",
             "x-nullable": false
           },
-          "warnings": {
-            "type": "array",
-            "items": {
-              "$ref": "#/components/schemas/CommonWarning"
-            },
+          "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"
+          },
+          "filesVariablesSpecification": {
+            "$ref": "#/components/schemas/FilesVariablesSpecification"
           }
         },
-        "description": "A JSON:API wrapper class to add one JSON:API <typeparamref name=\"T\" /> within a data property",
+        "description": "A variable in a creative template",
         "x-nullable": false
       },
-      "Category202204ListResponse": {
+      "ChoiceVariableSpecification": {
+        "required": [
+          "options"
+        ],
         "type": "object",
         "properties": {
-          "data": {
+          "options": {
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/ResourceOfCategory202204"
+              "$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": {
+          "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",
+            "nullable": true,
+            "x-nullable": true
+          }
+        },
+        "description": "Specification of a text variable",
+        "x-nullable": false
+      },
+      "FilesVariablesSpecification": {
+        "required": [
+          "extensions",
+          "minFiles"
+        ],
+        "type": "object",
+        "properties": {
+          "extensions": {
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/ProblemDetails"
+              "enum": [
+                "Unknown",
+                "Jpeg",
+                "Png",
+                "Gif",
+                "Pdf"
+              ],
+              "type": "string",
+              "x-nullable": false
             },
-            "readOnly": true,
+            "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
+          },
+          "maxFile": {
+            "type": "integer",
+            "description": "The maximum amount of files required",
+            "format": "int32",
+            "nullable": true,
+            "x-nullable": true
           }
         },
-        "description": "Data model for a list of response resources",
+        "description": "Specification of a file variable",
         "x-nullable": false
       },
-      "Category202204": {
+      "ChoiceOption": {
         "required": [
-          "text",
-          "name",
-          "parentId"
+          "dependentVariables",
+          "id"
         ],
         "type": "object",
         "properties": {
-          "text": {
-            "type": "string",
-            "description": "Category Text",
-            "x-nullable": false
-          },
-          "name": {
-            "type": "string",
-            "description": "Category Name",
+          "dependentVariables": {
+            "type": "array",
+            "items": {
+              "$ref": "#/components/schemas/TemplateVariable"
+            },
+            "description": "Template variables unblocked when the option is chosen",
             "x-nullable": false
           },
-          "parentId": {
+          "id": {
             "type": "string",
-            "description": "Category ParentId",
+            "description": "The id of the option",
             "x-nullable": false
           }
         },
-        "description": "List of retailer's categories, including the full hierarchy of categories and their parent category ID",
+        "description": "An option given in a choice",
         "x-nullable": false
       },
-      "TemplateListResponse": {
+      "AsyncReportResponse": {
         "type": "object",
         "properties": {
           "data": {
-            "type": "array",
-            "items": {
-              "$ref": "#/components/schemas/ResourceOfTemplate"
-            },
-            "x-nullable": false
+            "$ref": "#/components/schemas/StatusResponseResource"
           },
           "warnings": {
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/ProblemDetails"
+              "$ref": "#/components/schemas/CommonProblem"
             },
-            "readOnly": true,
-            "x-nullable": false
+            "nullable": true,
+            "readOnly": true
           },
           "errors": {
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/ProblemDetails"
+              "$ref": "#/components/schemas/CommonProblem"
             },
-            "readOnly": true,
-            "x-nullable": false
+            "nullable": true,
+            "readOnly": true
           }
         },
-        "description": "Data model for a list of response resources",
-        "x-nullable": false
+        "description": "Async Report response format"
       },
-      "TemplateResponse": {
+      "ReportOutcome": {
         "type": "object",
         "properties": {
-          "data": {
-            "$ref": "#/components/schemas/ResourceOfTemplate"
-          },
           "warnings": {
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/ProblemDetails"
+              "$ref": "#/components/schemas/CommonProblem"
             },
-            "readOnly": true,
-            "x-nullable": false
+            "nullable": true,
+            "readOnly": true
           },
           "errors": {
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/ProblemDetails"
-            },
-            "readOnly": true,
-            "x-nullable": false
-          }
-        },
-        "description": "Data model for response resource",
-        "x-nullable": false
-      },
-      "ExternalRetailerPages202110": {
-        "type": "object",
-        "properties": {
-          "pageTypes": {
-            "type": "array",
-            "items": {
-              "type": "string",
-              "x-nullable": false
+              "$ref": "#/components/schemas/CommonProblem"
             },
-            "description": "List of valid pages for a retailer",
-            "x-nullable": false
+            "nullable": true,
+            "readOnly": true
           }
         },
-        "description": "Wraps a list of valid pages for a retailer",
-        "x-nullable": false
+        "description": "The outcome of an API call."
       },
-      "JsonApiRequestOfCatalogRequest": {
+      "AsyncCampaignsReportRequest": {
         "type": "object",
         "properties": {
           "data": {
-            "$ref": "#/components/schemas/JsonApiBodyWithoutIdOfCatalogRequestAndCatalogRequest"
-          }
-        },
-        "description": "A JSON:API wrapper class to format a <typeparamref name=\"TAttributes\" /> with Type, and Attributes properties",
-        "x-nullable": false
-      },
-      "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/Creative202110"
+            "$ref": "#/components/schemas/AsyncCampaignsReportResource"
           }
         },
-        "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": {
+      "AsyncLineItemsReportRequest": {
         "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/AsyncLineItemsReportResource"
           }
         },
-        "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"
       },
-      "JsonApiBodyWithIdOfInt64AndCatalogStatusAndCatalogStatus": {
-        "required": [
-          "id",
-          "type"
-        ],
+      "AsyncRevenueReportRequest": {
         "type": "object",
         "properties": {
-          "id": {
-            "type": "string",
-            "format": "long-id",
-            "x-nullable": false
-          },
-          "type": {
-            "type": "string",
-            "x-nullable": false
-          },
-          "attributes": {
-            "$ref": "#/components/schemas/ExternalCatalogStatus"
+          "data": {
+            "$ref": "#/components/schemas/AsyncRevenueReportResource"
           }
         },
-        "description": "A JSON:API wrapper class to format a <typeparamref name=\"TAttributes\" /> with external Id, Type, and\r\nAttributes properties",
-        "x-nullable": false
+        "description": "A top-level object that encapsulates a Criteo API request for a single value"
       },
-      "ResourceOfCategory202204": {
+      "StatusResponseResource": {
         "type": "object",
         "properties": {
           "attributes": {
-            "$ref": "#/components/schemas/Category202204"
+            "$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"
       },
-      "ResourceOfTemplate": {
+      "AsyncCampaignsReportResource": {
         "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
+          },
+          "attributes": {
+            "$ref": "#/components/schemas/AsyncCampaignsReport"
           }
         },
-        "description": "Data model for a Resource",
-        "x-nullable": false
+        "description": "A top-level object that encapsulates a Criteo API response for a single value"
       },
-      "JsonApiBodyWithoutIdOfCatalogRequestAndCatalogRequest": {
-        "required": [
-          "type"
-        ],
+      "AsyncLineItemsReportResource": {
         "type": "object",
         "properties": {
           "type": {
             "type": "string",
-            "x-nullable": false
+            "nullable": true
           },
           "attributes": {
-            "$ref": "#/components/schemas/ExternalCatalogRequest"
+            "$ref": "#/components/schemas/AsyncLineItemsReport"
           }
         },
-        "description": "A JSON:API wrapper class to format a <typeparamref name=\"TAttributes\" /> 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": {
+        "description": "A top-level object that encapsulates a Criteo API response for a single value"
+      },
+      "AsyncRevenueReportResource": {
+        "type": "object",
+        "properties": {
+          "type": {
             "type": "string",
-            "format": "date-time",
-            "x-nullable": false
+            "nullable": true
+          },
+          "attributes": {
+            "$ref": "#/components/schemas/AsyncRevenueReport"
           }
         },
-        "description": "Metadata and usage info of a preferred deals creative",
-        "x-nullable": false
+        "description": "A top-level object that encapsulates a Criteo API response for a single value"
       },
-      "ExternalCatalogStatus": {
-        "required": [
-          "status",
-          "currency",
-          "rowCount",
-          "fileSizeBytes",
-          "md5Checksum",
-          "createdAt",
-          "message"
-        ],
+      "StatusResponse": {
         "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
+            "nullable": true
           },
           "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
+            "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
+            "nullable": true
           },
-          "md5Checksum": {
+          "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
+            "nullable": true
           },
           "createdAt": {
             "type": "string",
-            "description": "The time this catalog was created. Represented as a UTC ISO8601 string.",
-            "format": "date-time",
-            "x-nullable": false
+            "nullable": true
+          },
+          "expiresAt": {
+            "type": "string",
+            "nullable": true
           },
           "message": {
             "type": "string",
-            "description": "An optional information message intended for developer consumption.",
-            "nullable": true,
-            "x-nullable": true
+            "nullable": true
+          },
+          "id": {
+            "type": "string",
+            "nullable": true
           }
         },
-        "description": "The status of an asynchronous request to generate a catalog",
-        "x-nullable": false
+        "description": "Status of an async report request",
+        "x-criteo-canonical": {
+          "infoType": "entity"
+        }
       },
-      "Template": {
+      "AsyncCampaignsReport": {
         "required": [
-          "creativeFormat",
-          "name",
-          "skuCollectionMin",
-          "skuPerCollectionMin",
-          "allCollectionsMandatory",
-          "createdAt",
-          "updatedAt",
-          "sections"
+          "endDate",
+          "startDate"
         ],
         "type": "object",
         "properties": {
-          "creativeFormat": {
+          "ids": {
+            "type": "array",
+            "items": {
+              "type": "string"
+            },
+            "description": "Campaign ids to report on",
+            "nullable": true
+          },
+          "id": {
+            "type": "string",
+            "description": "Campaign id to report on",
+            "nullable": true
+          },
+          "campaignType": {
             "enum": [
-              "Unknown",
-              "FlagShip",
-              "Showcase",
-              "SponsoredProducts",
-              "Butterfly",
-              "BundleBoost",
-              "IAB",
-              "CUSTOM",
-              "DisplayPanel",
-              "DigitalShelfTalker"
+              "all",
+              "sponsoredProducts",
+              "onSiteDisplays"
             ],
             "type": "string",
-            "description": "The kind of creative this template can be used to build.",
-            "x-nullable": false
+            "description": "Filter the type of campaigns to report on: sponsoredProducts or onSiteDisplays",
+            "default": "all",
+            "nullable": true
           },
-          "name": {
+          "salesChannel": {
+            "enum": [
+              "all",
+              "offline",
+              "online"
+            ],
             "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
+            "description": "Filter on specific sales channel: offline or online",
+            "default": "all",
+            "nullable": true
           },
-          "skuCollectionMin": {
-            "type": "integer",
-            "description": "TODO: what is it ?",
-            "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
           },
-          "skuCollectionMax": {
-            "type": "integer",
-            "description": "TODO: what is it ?",
-            "format": "int32",
-            "nullable": true,
-            "x-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",
+            "nullable": true
           },
-          "skuPerCollectionMin": {
-            "type": "integer",
-            "description": "TODO: what is it ?",
-            "format": "int32",
-            "x-nullable": false
+          "clickAttributionWindow": {
+            "enum": [
+              "none",
+              "7D",
+              "14D",
+              "30D"
+            ],
+            "type": "string",
+            "description": "Click attribution window",
+            "default": "none",
+            "nullable": true
           },
-          "skuPerCollectionMax": {
-            "type": "integer",
-            "description": "TODO: what is it ?",
-            "format": "int32",
-            "nullable": true,
-            "x-nullable": true
+          "viewAttributionWindow": {
+            "enum": [
+              "none",
+              "1D",
+              "7D",
+              "14D",
+              "30D"
+            ],
+            "type": "string",
+            "description": "View attribution window",
+            "default": "none",
+            "nullable": true
           },
-          "displayableSkusMax": {
-            "type": "integer",
-            "description": "TODO: what is it ?",
-            "format": "int32",
-            "nullable": true,
-            "x-nullable": true
+          "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
           },
-          "allCollectionsMandatory": {
-            "type": "boolean",
-            "description": "TODO: what is it ?",
-            "x-nullable": false
+          "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",
+            "nullable": true
           },
-          "createdAt": {
+          "startDate": {
             "type": "string",
-            "description": "The time at which the template was created",
-            "format": "date-time",
-            "x-nullable": false
+            "description": "Start date",
+            "format": "date-time"
           },
-          "updatedAt": {
+          "endDate": {
             "type": "string",
-            "description": "The time at which the template was updated",
-            "format": "date-time",
-            "x-nullable": false
+            "description": "End date",
+            "format": "date-time"
           },
-          "sections": {
-            "type": "array",
-            "items": {
-              "$ref": "#/components/schemas/Section"
-            },
-            "description": "The sections holding various template variables",
-            "x-nullable": false
+          "timezone": {
+            "type": "string",
+            "description": "Time zone : see criteo developer portal for supported time zones",
+            "default": "UTC",
+            "nullable": true
           }
         },
-        "description": "A template for creating creatives.",
-        "x-nullable": false
+        "description": "Async Campaigns report body request"
       },
-      "ExternalCatalogRequest": {
+      "AsyncLineItemsReport": {
+        "required": [
+          "endDate",
+          "startDate"
+        ],
         "type": "object",
         "properties": {
+          "ids": {
+            "type": "array",
+            "items": {
+              "type": "string"
+            },
+            "description": "Line Item ids to report on",
+            "nullable": true
+          },
+          "id": {
+            "type": "string",
+            "description": "Line Item id to report on",
+            "nullable": true
+          },
+          "campaignType": {
+            "enum": [
+              "all",
+              "sponsoredProducts",
+              "onSiteDisplays"
+            ],
+            "type": "string",
+            "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
+          },
           "format": {
             "enum": [
-              "json-newline"
+              "json",
+              "json-compact",
+              "json-newline",
+              "csv"
             ],
             "type": "string",
-            "default": "json-newline",
-            "x-nullable": false
+            "description": "Format of the output",
+            "default": "json-compact",
+            "nullable": true
           },
-          "brandIdFilter": {
+          "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
+          },
+          "clickAttributionWindow": {
+            "enum": [
+              "none",
+              "7D",
+              "14D",
+              "30D"
+            ],
+            "type": "string",
+            "description": "Click attribution window",
+            "default": "none",
+            "nullable": true
+          },
+          "viewAttributionWindow": {
+            "enum": [
+              "none",
+              "1D",
+              "7D",
+              "14D",
+              "30D"
+            ],
+            "type": "string",
+            "description": "View attribution window",
+            "default": "none",
+            "nullable": true
+          },
+          "dimensions": {
             "type": "array",
             "items": {
-              "type": "string",
-              "format": "long-id"
+              "enum": [
+                "date",
+                "hour",
+                "accountId",
+                "accountName",
+                "campaignId",
+                "campaignName",
+                "campaignTypeName",
+                "lineItemId",
+                "lineItemName",
+                "retailerId",
+                "retailerName",
+                "brandId",
+                "brandName",
+                "advProductCategory",
+                "advProductId",
+                "advProductName",
+                "salesChannel",
+                "environment",
+                "pageTypeName",
+                "keyword",
+                "searchTerm"
+              ],
+              "type": "string"
             },
-            "x-nullable": false
-          }
-        },
-        "description": "A request for a catalog under the specified format. Currently \"json-newline\" is supported.",
-        "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": [
+                "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
+          },
+          "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 Line Items report body request"
       },
-      "TemplateVariable": {
+      "AsyncRevenueReport": {
         "required": [
-          "id",
-          "required",
-          "type"
+          "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 variable",
-            "x-nullable": false
+            "description": "Campaign id to report on",
+            "nullable": true
+          },
+          "reportType": {
+            "enum": [
+              "advertiser",
+              "environment",
+              "pageType",
+              "productCategory",
+              "brand"
+            ],
+            "type": "string",
+            "description": "Type of report",
+            "nullable": true
+          },
+          "revenueType": {
+            "enum": [
+              "auction",
+              "preferred"
+            ],
+            "type": "string",
+            "description": "Type of revenue",
+            "nullable": true
+          },
+          "soldBy": {
+            "enum": [
+              "directSold",
+              "indirectSold",
+              "privateMarket"
+            ],
+            "type": "string",
+            "description": "Filter on the seller: Indirect Sold, Direct Sold or Private Market",
+            "nullable": true
+          },
+          "buyType": {
+            "enum": [
+              "auction",
+              "preferredDeals",
+              "sponsorship"
+            ],
+            "type": "string",
+            "description": "Filter on buy type: Auction, Preferred Deals or Sponsorship",
+            "nullable": true
+          },
+          "skuRelations": {
+            "type": "array",
+            "items": {
+              "enum": [
+                "sameSku",
+                "sameParentSku",
+                "sameCategory",
+                "sameBrand",
+                "sameSeller"
+              ],
+              "type": "string"
+            },
+            "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": "Format of the output",
+            "nullable": true
           },
-          "required": {
-            "type": "boolean",
-            "description": "Whether the variable is required",
-            "x-nullable": false
+          "campaignType": {
+            "enum": [
+              "all",
+              "sponsoredProducts",
+              "onSiteDisplays"
+            ],
+            "type": "string",
+            "description": "Filter the type of campaigns to report on: sponsoredProducts or onSiteDisplays",
+            "default": "all",
+            "nullable": true
           },
-          "type": {
+          "salesChannel": {
             "enum": [
-              "Text",
-              "Choice",
-              "Color",
-              "Files",
-              "Hyperlink"
+              "all",
+              "offline",
+              "online"
             ],
             "type": "string",
-            "description": "The type of the variable",
-            "x-nullable": false
+            "description": "Filter on specific sales channel: offline or online",
+            "default": "all",
+            "nullable": true
           },
-          "choiceVariableSpecification": {
-            "$ref": "#/components/schemas/ChoiceVariableSpecification"
+          "clickAttributionWindow": {
+            "enum": [
+              "none",
+              "7D",
+              "14D",
+              "30D"
+            ],
+            "type": "string",
+            "description": "Click attribution window",
+            "default": "none",
+            "nullable": true
           },
-          "textVariableSpecification": {
-            "$ref": "#/components/schemas/TextVariableSpecification"
+          "viewAttributionWindow": {
+            "enum": [
+              "none",
+              "1D",
+              "7D",
+              "14D",
+              "30D"
+            ],
+            "type": "string",
+            "description": "View attribution window",
+            "default": "none",
+            "nullable": true
           },
-          "filesVariablesSpecification": {
-            "$ref": "#/components/schemas/FilesVariablesSpecification"
-          }
-        },
-        "description": "A variable in a creative template",
-        "x-nullable": false
-      },
-      "ChoiceVariableSpecification": {
-        "required": [
-          "options"
-        ],
-        "type": "object",
-        "properties": {
-          "options": {
+          "dimensions": {
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/ChoiceOption"
+              "enum": [
+                "date",
+                "hour",
+                "parentAccount",
+                "accountId",
+                "accountName",
+                "accountTypeName",
+                "campaignId",
+                "campaignName",
+                "campaignTypeName",
+                "campaignStartDate",
+                "campaignEndDate",
+                "lineItemId",
+                "lineItemName",
+                "lineItemStartDate",
+                "lineItemEndDate",
+                "lineItemStatus",
+                "retailerId",
+                "retailerName",
+                "brandId",
+                "brandName",
+                "placementId",
+                "placementName",
+                "pageTypeName",
+                "environment",
+                "pageCategory",
+                "advProductId",
+                "advProductName",
+                "advProductGtin",
+                "advProductMpn",
+                "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"
             },
-            "description": "The available options",
-            "x-nullable": false
+            "description": "List of dimensions to report on",
+            "nullable": true
           },
-          "maxSelected": {
-            "type": "integer",
-            "description": "The maximum number of selectable options",
-            "format": "int32",
-            "nullable": true,
-            "x-nullable": true
+          "metrics": {
+            "type": "array",
+            "items": {
+              "enum": [
+                "numberOfCampaigns",
+                "numberOfLineItems",
+                "numberOfSkus",
+                "skuPrice",
+                "pageViews",
+                "impressions",
+                "productClicks",
+                "placementClicks",
+                "clicks",
+                "sales",
+                "units",
+                "transactions",
+                "assistedSales",
+                "assistedUnits",
+                "openAuctionRevenue",
+                "preferredDealsRevenue",
+                "ctr",
+                "cr",
+                "cpc",
+                "cpm",
+                "roas",
+                "workingMedia",
+                "netRevenue",
+                "videoViews",
+                "videosStarted",
+                "videosPlayedTo25",
+                "videosPlayedTo50",
+                "videosPlayedTo75",
+                "videosPlayedTo100",
+                "videoPlayingRate",
+                "videoCompletionRate",
+                "uniqueVisitors",
+                "frequency"
+              ],
+              "type": "string"
+            },
+            "description": "List of metrics to report on",
+            "nullable": true
           },
-          "minSelected": {
-            "type": "integer",
-            "description": "The minimum number of selectable options",
-            "format": "int32",
-            "nullable": true,
-            "x-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": "Specification of choice variable",
-        "x-nullable": false
+        "description": "Async Revenue report body request"
       },
-      "TextVariableSpecification": {
+      "ValueResourceOfRetailMediaBrands": {
         "type": "object",
         "properties": {
-          "maxChars": {
-            "type": "integer",
-            "description": "The maximum amount of characters accepted for the text",
-            "format": "int32",
-            "nullable": true,
-            "x-nullable": true
+          "type": {
+            "type": "string",
+            "nullable": true
+          },
+          "attributes": {
+            "$ref": "#/components/schemas/RetailMediaBrands"
           }
         },
-        "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 value."
       },
-      "FilesVariablesSpecification": {
-        "required": [
-          "extensions",
-          "minFiles"
-        ],
+      "ResourceOutcomeOfRetailMediaAccount": {
         "type": "object",
         "properties": {
-          "extensions": {
+          "data": {
+            "$ref": "#/components/schemas/ResourceOfRetailMediaAccount"
+          },
+          "warnings": {
             "type": "array",
             "items": {
-              "enum": [
-                "Unknown",
-                "Jpeg",
-                "Png",
-                "Gif",
-                "Pdf"
-              ],
-              "type": "string",
-              "x-nullable": false
+              "$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",
-            "nullable": true,
-            "x-nullable": true
-          }
-        },
-        "description": "Specification of a file variable",
-        "x-nullable": false
-      },
-      "ChoiceOption": {
-        "required": [
-          "dependentVariables",
-          "id"
-        ],
-        "type": "object",
-        "properties": {
-          "dependentVariables": {
+          "errors": {
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/TemplateVariable"
+              "$ref": "#/components/schemas/CommonProblem"
             },
-            "description": "Template variables unblocked when the option is chosen",
-            "x-nullable": false
-          },
-          "id": {
-            "type": "string",
-            "description": "The id of the option",
-            "x-nullable": false
+            "nullable": true,
+            "readOnly": true
           }
         },
-        "description": "An option given in a choice",
-        "x-nullable": false
+        "additionalProperties": false,
+        "description": "A top-level object that encapsulates a Criteo API response for a single entity."
       },
-      "AsyncReportResponse": {
+      "ValueResourceOutcomeOfCampaignBudgetOverrides": {
         "type": "object",
         "properties": {
           "data": {
-            "$ref": "#/components/schemas/StatusResponseResource"
+            "$ref": "#/components/schemas/ValueResourceOfCampaignBudgetOverrides"
           },
           "warnings": {
             "type": "array",
@@ -5606,11 +8545,35 @@
             "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": {
+      "PageOfInsertionOrderHistoryChangeDataCapture": {
+        "required": [
+          "data",
+          "meta"
+        ],
+        "type": "object",
+        "properties": {
+          "meta": {
+            "$ref": "#/components/schemas/Metadata"
+          },
+          "data": {
+            "type": "array",
+            "items": {
+              "$ref": "#/components/schemas/InsertionOrderHistoryChangeDataCapture"
+            }
+          }
+        },
+        "additionalProperties": false,
+        "description": "A wrapper class to return a single page of items with metadata."
+      },
+      "ValueResourceOutcomeOfLineItemBudgetOverrides": {
         "type": "object",
         "properties": {
+          "data": {
+            "$ref": "#/components/schemas/ValueResourceOfLineItemBudgetOverrides"
+          },
           "warnings": {
             "type": "array",
             "items": {
@@ -5628,34 +8591,73 @@
             "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."
+      },
+      "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."
       },
-      "AsyncCampaignsReportRequest": {
+      "ValueResourceInputOfCampaignBudgetOverrides": {
         "type": "object",
         "properties": {
           "data": {
-            "$ref": "#/components/schemas/AsyncCampaignsReportResource"
+            "$ref": "#/components/schemas/ValueResourceOfCampaignBudgetOverrides"
           }
         },
-        "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": {
+      "ValueResourceInputOfLineItemBudgetOverrides": {
         "type": "object",
         "properties": {
           "data": {
-            "$ref": "#/components/schemas/AsyncLineItemsReportResource"
+            "$ref": "#/components/schemas/ValueResourceOfLineItemBudgetOverrides"
           }
         },
-        "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": {
+      "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": {
@@ -5663,9 +8665,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": {
+      "ValueResourceOfCampaignBudgetOverrides": {
         "type": "object",
         "properties": {
           "type": {
@@ -5673,404 +8676,421 @@
             "nullable": true
           },
           "attributes": {
-            "$ref": "#/components/schemas/AsyncCampaignsReport"
+            "$ref": "#/components/schemas/CampaignBudgetOverrides"
           }
         },
-        "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": {
+      "InsertionOrderHistoryChangeDataCapture": {
+        "required": [
+          "changeDetails",
+          "changeType",
+          "dateOfModification",
+          "modifiedByUser"
+        ],
         "type": "object",
         "properties": {
-          "status": {
-            "enum": [
-              "pending",
-              "success",
-              "failure",
-              "expired"
-            ],
+          "dateOfModification": {
             "type": "string",
-            "nullable": true
-          },
-          "rowCount": {
-            "type": "integer",
-            "format": "int32",
-            "nullable": true
-          },
-          "fileSizeBytes": {
-            "type": "integer",
-            "format": "int32",
-            "nullable": true
+            "description": "Date when data change has occured.",
+            "format": "date-time"
           },
-          "md5CheckSum": {
+          "modifiedByUser": {
             "type": "string",
-            "nullable": true
+            "description": "User name who modified the insertion order."
           },
-          "createdAt": {
+          "changeType": {
+            "enum": [
+              "BalanceCreated",
+              "BalanceAdded",
+              "BalanceRemoved",
+              "BalanceUncapped",
+              "BalanceCapped",
+              "EndDate",
+              "StartDate",
+              "BalanceName",
+              "PoNumber",
+              "ValueAdd",
+              "SalesforceId"
+            ],
             "type": "string",
-            "nullable": true
+            "description": "Represent the type of change states of the history."
           },
-          "expiresAt": {
+          "changeDetails": {
+            "$ref": "#/components/schemas/ChangeDetails"
+          },
+          "memo": {
             "type": "string",
+            "description": "Memo associate with the insertion order modification.",
             "nullable": true
-          },
-          "message": {
+          }
+        },
+        "additionalProperties": false,
+        "description": "Data model represents the data change capture of insertion order history."
+      },
+      "ValueResourceOfLineItemBudgetOverrides": {
+        "type": "object",
+        "properties": {
+          "type": {
             "type": "string",
             "nullable": true
           },
-          "id": {
+          "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",
             "nullable": true
+          },
+          "attributes": {
+            "$ref": "#/components/schemas/RetailMediaBrandAccountCreation"
           }
         },
-        "description": "Status of an async report request",
-        "x-criteo-canonical": {
-          "infoType": "entity"
-        }
+        "additionalProperties": false,
+        "description": "A top-level object that encapsulates a Criteo API response for a single value."
       },
-      "AsyncCampaignsReport": {
-        "required": [
-          "endDate",
-          "startDate"
-        ],
+      "RetailMediaAccount": {
         "type": "object",
         "properties": {
-          "ids": {
-            "type": "array",
-            "items": {
-              "type": "string"
-            },
-            "description": "Campaign ids to report on",
+          "name": {
+            "type": "string",
+            "description": "account name",
             "nullable": true
           },
-          "id": {
+          "companyName": {
             "type": "string",
-            "description": "Campaign 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": {
+          "type": {
             "enum": [
-              "sponsoredProducts",
-              "onSiteDisplays"
+              "Unknown",
+              "Supply",
+              "Demand"
             ],
             "type": "string",
-            "description": "Filter the type of campaigns to report on: sponsoredProducts or onSiteDisplays",
+            "description": "Type for the account",
             "nullable": true
           },
-          "salesChannel": {
+          "subType": {
             "enum": [
-              "offline",
-              "online"
+              "Unknown",
+              "Brand",
+              "Seller"
             ],
             "type": "string",
-            "description": "Filter on specific sales channel: offline or online",
+            "description": "subtype for the account",
             "nullable": true
           },
-          "format": {
-            "enum": [
-              "json",
-              "json-compact",
-              "json-newline",
-              "csv"
-            ],
-            "type": "string",
-            "description": "Format of the output",
-            "default": "json-compact",
+          "countryIds": {
+            "type": "array",
+            "items": {
+              "type": "string"
+            },
+            "description": "list of countries associated with the account",
             "nullable": true
           },
-          "reportType": {
-            "enum": [
-              "summary",
-              "pageType",
-              "keyword",
-              "productCategory",
-              "product",
-              "attributedTransactions",
-              "environment",
-              "servedCategory"
-            ],
+          "currencyId": {
             "type": "string",
-            "description": "Type of report, if no dimensions/metrics are provided, falls back to summary reportType",
-            "default": "summary",
+            "description": "the currency for the account",
             "nullable": true
           },
-          "clickAttributionWindow": {
-            "enum": [
-              "7D",
-              "14D",
-              "30D",
-              "none"
-            ],
+          "parentAccountLabel": {
             "type": "string",
-            "description": "Click attribution window",
-            "default": "none",
+            "description": "parent account label for the account",
             "nullable": true
           },
-          "viewAttributionWindow": {
-            "enum": [
-              "1D",
-              "7D",
-              "14D",
-              "30D",
-              "none"
-            ],
+          "timeZone": {
             "type": "string",
-            "description": "View attribution window",
-            "default": "none",
+            "description": "the timezone for the account",
             "nullable": true
-          },
-          "dimensions": {
+          }
+        },
+        "additionalProperties": false,
+        "description": "The details for a newly created account"
+      },
+      "CampaignBudgetOverrides": {
+        "required": [
+          "dailyBudgetOverrides",
+          "monthlyBudgetOverrides"
+        ],
+        "type": "object",
+        "properties": {
+          "monthlyBudgetOverrides": {
             "type": "array",
             "items": {
-              "enum": [
-                "date",
-                "hour",
-                "accountId",
-                "accountName",
-                "campaignId",
-                "campaignName",
-                "campaignTypeName",
-                "advProductCategory",
-                "advProductId",
-                "advProductName",
-                "brandId",
-                "brandName",
-                "lineItemId",
-                "lineItemName",
-                "retailerId",
-                "retailerName",
-                "keyword",
-                "pageTypeName",
-                "salesChannel",
-                "environment"
-              ],
-              "type": "string"
+              "$ref": "#/components/schemas/CampaignMonthlyBudgetOverride"
             },
-            "description": "List of dimensions to report on",
-            "nullable": true
+            "description": "Campaign budget override monthly part, chronological order restricted."
           },
-          "metrics": {
+          "dailyBudgetOverrides": {
             "type": "array",
             "items": {
-              "enum": [
-                "impressions",
-                "clicks",
-                "spend",
-                "attributedSales",
-                "attributedUnits",
-                "attributedOrders",
-                "assistedSales",
-                "assistedUnits",
-                "ctr",
-                "cpc",
-                "cpo",
-                "cpm",
-                "roas",
-                "uniqueVisitors",
-                "frequency"
-              ],
-              "type": "string"
+              "$ref": "#/components/schemas/CampaignDailyBudgetOverride"
             },
-            "description": "List of metrics to report on",
+            "description": "Campaign budget override daily part, chronological order restricted."
+          }
+        },
+        "additionalProperties": false,
+        "description": "Campaign budget overrides including Monthly and Daily budget overrides."
+      },
+      "ChangeDetails": {
+        "required": [
+          "changeValue",
+          "currentValue",
+          "previousValue"
+        ],
+        "type": "object",
+        "properties": {
+          "previousValue": {
+            "type": "string",
+            "description": "Previous value of a property of the insertion order.",
             "nullable": true
           },
-          "startDate": {
+          "currentValue": {
             "type": "string",
-            "description": "Start date",
-            "format": "date-time"
+            "description": "Current value of a property of the insertion order.",
+            "nullable": true
           },
-          "endDate": {
+          "changeValue": {
             "type": "string",
-            "description": "End date",
-            "format": "date-time"
+            "description": "Change detail of a property of the insertion order.",
+            "nullable": true
+          }
+        },
+        "additionalProperties": false,
+        "description": "Change details of a property of the insertion order."
+      },
+      "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
           },
-          "timezone": {
+          "companyName": {
             "type": "string",
-            "description": "Time zone : see criteo developer portal for supported time zones",
-            "default": "UTC",
+            "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
           }
         },
-        "description": "Async Campaigns report body request"
+        "additionalProperties": false,
+        "description": "the initial set up and configuration options for a new private market demand brand account"
       },
-      "AsyncLineItemsReport": {
+      "CampaignMonthlyBudgetOverride": {
         "required": [
-          "endDate",
-          "startDate"
+          "duration",
+          "maxMonthlySpend"
         ],
         "type": "object",
         "properties": {
-          "ids": {
-            "type": "array",
-            "items": {
-              "type": "string"
-            },
-            "description": "Line Item ids to report on",
+          "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
           },
-          "id": {
+          "duration": {
             "type": "string",
-            "description": "Line Item id to report on",
-            "nullable": true
+            "description": "The number of MONTHs that the override is active from StartMonth, e.g. \"1M\". Must end with 'M' or 'm'."
           },
-          "campaignType": {
+          "maxMonthlySpend": {
+            "type": "number",
+            "description": "Monthly budget override maximum monthly spend amount.",
+            "format": "double"
+          },
+          "status": {
             "enum": [
-              "sponsoredProducts",
-              "onSiteDisplays"
+              "Expired",
+              "Active",
+              "Upcoming"
             ],
             "type": "string",
-            "description": "Filter the type of campaigns to report on: sponsoredProducts or onSiteDisplays",
+            "description": "Monthly budget override computed status.",
             "nullable": true
-          },
-          "salesChannel": {
-            "enum": [
-              "offline",
-              "online"
-            ],
+          }
+        },
+        "additionalProperties": false,
+        "description": "Campaign monthly budget override."
+      },
+      "CampaignDailyBudgetOverride": {
+        "required": [
+          "duration",
+          "maxDailySpend"
+        ],
+        "type": "object",
+        "properties": {
+          "startDate": {
             "type": "string",
-            "description": "Filter on specific sales channel: offline or online",
+            "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
           },
-          "format": {
-            "enum": [
-              "json",
-              "json-compact",
-              "json-newline",
-              "csv"
-            ],
+          "duration": {
             "type": "string",
-            "description": "Format of the output",
-            "default": "json-compact",
-            "nullable": true
+            "description": "The number of DAYs that the override is active from StartDate, e.g. \"1D\". Must end with 'D' or 'd'."
           },
-          "reportType": {
+          "maxDailySpend": {
+            "type": "number",
+            "description": "Daily budget override maximum daily 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": "Daily budget override computed status.",
             "nullable": true
-          },
-          "clickAttributionWindow": {
-            "enum": [
-              "7D",
-              "14D",
-              "30D",
-              "none"
-            ],
+          }
+        },
+        "additionalProperties": false,
+        "description": "Campaign daily budget override."
+      },
+      "MonthlyLineItemBudegetOverride": {
+        "required": [
+          "duration",
+          "maxMonthlySpend"
+        ],
+        "type": "object",
+        "properties": {
+          "startMonth": {
             "type": "string",
-            "description": "Click attribution window",
-            "default": "none",
+            "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": [
-              "1D",
-              "7D",
-              "14D",
-              "30D",
-              "none"
-            ],
+          "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",
-                "advProductCategory",
-                "advProductId",
-                "advProductName",
-                "brandId",
-                "brandName",
-                "lineItemId",
-                "lineItemName",
-                "retailerId",
-                "retailerName",
-                "keyword",
-                "pageTypeName",
-                "salesChannel",
-                "environment"
-              ],
-              "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",
-                "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": {
@@ -6079,14 +9099,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
@@ -6094,7 +9114,7 @@
           "errors": {
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/ProblemDetails"
+              "$ref": "#/components/schemas/CommonProblem"
             },
             "readOnly": true,
             "x-nullable": false
@@ -6103,6 +9123,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",
@@ -6536,33 +9582,73 @@
             "x-nullable": false
           }
         },
-        "description": "Data model for a value type resource outcome",
+        "description": "Data model for a value type resource outcome",
+        "x-nullable": false
+      },
+      "StoreTarget202110Response": {
+        "type": "object",
+        "properties": {
+          "data": {
+            "$ref": "#/components/schemas/ValueTypeResourceOfStoreTarget202110"
+          },
+          "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": "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
       },
-      "StoreTarget202110Response": {
+      "ChangeDatesOfBalanceRequest": {
         "type": "object",
         "properties": {
           "data": {
-            "$ref": "#/components/schemas/ValueTypeResourceOfStoreTarget202110"
-          },
-          "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
+            "$ref": "#/components/schemas/ResourceOfChangeDatesOfBalance"
           }
         },
-        "description": "Data model for a value type resource outcome",
+        "description": "Data model for an input resource",
         "x-nullable": false
       },
       "PostCampaignV202301": {
@@ -6733,9 +9819,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",
@@ -6745,12 +9834,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": {
@@ -6975,6 +10061,86 @@
         "description": "Data model for a value type resource",
         "x-nullable": false
       },
+      "ResourceOfCreateBalance": {
+        "type": "object",
+        "properties": {
+          "attributes": {
+            "$ref": "#/components/schemas/ExternalCreateBalance"
+          },
+          "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
+      },
+      "ResourceOfUpdateBalanceModel": {
+        "type": "object",
+        "properties": {
+          "attributes": {
+            "$ref": "#/components/schemas/ExternalUpdateBalanceModel"
+          },
+          "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
+      },
+      "ResourceOfAddFundsToBalance": {
+        "type": "object",
+        "properties": {
+          "attributes": {
+            "$ref": "#/components/schemas/ExternalAddFundsToBalance"
+          },
+          "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
+      },
+      "ResourceOfChangeDatesOfBalance": {
+        "type": "object",
+        "properties": {
+          "attributes": {
+            "$ref": "#/components/schemas/ExternalChangeDatesOfBalance"
+          },
+          "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
+      },
       "JsonApiBodyWithoutIdOfCampaignAttributesV202301AndCampaignV202301": {
         "required": [
           "type"
@@ -7125,7 +10291,7 @@
         "description": "Data model for a value type resource",
         "x-nullable": false
       },
-      "ExternalBalance202110": {
+      "ExternalBalanceResponse": {
         "required": [
           "name",
           "poNumber",
@@ -7134,22 +10300,29 @@
           "spent",
           "remaining",
           "startDate",
+          "endDate",
           "status",
           "createdAt",
-          "updatedAt"
+          "updatedAt",
+          "balanceType",
+          "salesForceId",
+          "spendType"
         ],
         "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": {
@@ -7157,6 +10330,7 @@
               "false"
             ],
             "type": "number",
+            "description": "Amount of billable funds allotted to the balance.",
             "format": "decimal",
             "nullable": true,
             "x-nullable": true
@@ -7185,15 +10359,12 @@
             ],
             "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": [
@@ -7214,6 +10385,31 @@
             "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
           }
         },
         "description": "A Retail Media Balance used to determine the funds available for any or all campaigns in an account",
@@ -7961,6 +11157,168 @@
         "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": {
+            "required": [
+              "false"
+            ],
+            "type": "number",
+            "description": "Amount of billable funds allotted to the balance.",
+            "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"
+          },
+          "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",
diff --git a/api-specifications/retailmedia_preview.json b/api-specifications/retailmedia_preview.json
index 415ca47..6f909c8 100644
--- a/api-specifications/retailmedia_preview.json
+++ b/api-specifications/retailmedia_preview.json
@@ -62,6 +62,161 @@
         }
       }
     },
+    "/preview/retail-media/audience-segments/{audience-segment-id}/contact-list/add-remove": {
+      "post": {
+        "tags": [
+          "Audience"
+        ],
+        "description": "Add/remove identifiers to or from a retail-media contact list audience-segment, with external audience segment id.",
+        "operationId": "updateContactListIdentifiers",
+        "parameters": [
+          {
+            "name": "audience-segment-id",
+            "in": "path",
+            "description": "The id of the contact list audience-segment to amend, we only accept external Id here",
+            "required": true,
+            "style": "simple",
+            "schema": {
+              "type": "integer",
+              "format": "int64"
+            }
+          }
+        ],
+        "requestBody": {
+          "content": {
+            "application/json": {
+              "schema": {
+                "$ref": "#/components/schemas/RetailMediaContactlistAmendmentRequest"
+              }
+            }
+          },
+          "required": true,
+          "x-bodyName": "body"
+        },
+        "responses": {
+          "200": {
+            "description": "Summary of created request",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/RetailMediaContactlistOperation"
+                },
+                "example": {
+                  "data": {
+                    "type": "AddRemoveContactlistResult",
+                    "attributes": {
+                      "contactListId": 568708742535471104,
+                      "operation": "add",
+                      "requestDate": "2018-12-10T10:00:50.0000000+00:00",
+                      "identifierType": "madid",
+                      "nbValidIdentifiers": 7343,
+                      "nbInvalidIdentifiers": 13,
+                      "sampleInvalidIdentifiers": [
+                        "InvalidIdentifier"
+                      ]
+                    }
+                  },
+                  "errors": [
+                    {
+                      "traceId": "667ac683ac797284.667ac683ac797284<:667ac683ac797284",
+                      "type": "availability",
+                      "code": "internal-error",
+                      "instance": "",
+                      "title": "Internal error"
+                    }
+                  ],
+                  "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": [ ]
+                }
+              }
+            }
+          }
+        }
+      }
+    },
+    "/preview/retail-media/audience-segments/{audience-segment-id}/contact-list/clear": {
+      "post": {
+        "tags": [
+          "Audience"
+        ],
+        "description": "Delete all identifiers from a retail-media contact list audience-segment, with external audience segment id.",
+        "operationId": "DeleteContactListIdentifiers",
+        "parameters": [
+          {
+            "name": "audience-segment-id",
+            "in": "path",
+            "description": "The id of the contact list audience-segment to amend, we only accept external Id here",
+            "required": true,
+            "style": "simple",
+            "schema": {
+              "type": "integer",
+              "format": "int64"
+            }
+          }
+        ],
+        "responses": {
+          "204": {
+            "description": "The Contact List identifiers were deleted",
+            "content": {
+              "application/json": { }
+            }
+          },
+          "403": {
+            "description": "Forbidden",
+            "content": {
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/ErrorCodeResponse"
+                },
+                "example": {
+                  "errors": [
+                    {
+                      "traceId": "667ac683ac797284.667ac683ac797284<:667ac683ac797284",
+                      "type": "availability",
+                      "code": "internal-error",
+                      "instance": "",
+                      "title": "Internal error"
+                    }
+                  ],
+                  "warnings": [ ]
+                }
+              }
+            }
+          }
+        }
+      }
+    },
     "/preview/retail-media/me": {
       "get": {
         "tags": [
@@ -693,7 +848,7 @@
           {
             "name": "id",
             "in": "path",
-            "description": "Long external id of the associated line item",
+            "description": "ID of the line item",
             "required": true,
             "style": "simple",
             "schema": {
@@ -705,19 +860,9 @@
           "200": {
             "description": "Success",
             "content": {
-              "text/plain": {
-                "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1KeywordsModelResponse"
-                }
-              },
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1KeywordsModelResponse"
-                }
-              },
-              "text/json": {
-                "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1KeywordsModelResponse"
+                  "$ref": "#/components/schemas/KeywordsModelResponse"
                 }
               }
             }
@@ -725,9 +870,11 @@
           "400": {
             "description": "Bad Request",
             "content": {
-              "text/plain": { },
-              "application/json": { },
-              "text/json": { }
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/ResourceOutcome"
+                }
+              }
             }
           }
         }
@@ -738,13 +885,13 @@
         "tags": [
           "Campaign"
         ],
-        "description": "Add or Remove keywords from the associated line item in bulk",
+        "description": "Add or Remove keywords from the line item in bulk",
         "operationId": "AddRemoveKeywords",
         "parameters": [
           {
             "name": "id",
             "in": "path",
-            "description": "Long external id of the associated line item",
+            "description": "ID of the line item",
             "required": true,
             "style": "simple",
             "schema": {
@@ -753,33 +900,21 @@
           }
         ],
         "requestBody": {
-          "description": "Object containing keywords to be added or removed",
           "content": {
             "application/json": {
               "schema": {
-                "$ref": "#/components/schemas/RetailMediaExternalv1AddRemoveKeywordsModelRequest"
+                "$ref": "#/components/schemas/AddRemoveKeywordsModelRequest"
               }
             }
-          },
-          "x-bodyName": "keywords"
+          }
         },
         "responses": {
           "200": {
             "description": "Success",
             "content": {
-              "text/plain": {
-                "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ResourceOutcome"
-                }
-              },
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ResourceOutcome"
-                }
-              },
-              "text/json": {
-                "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ResourceOutcome"
+                  "$ref": "#/components/schemas/ResourceOutcome"
                 }
               }
             }
@@ -787,9 +922,11 @@
           "400": {
             "description": "Bad Request",
             "content": {
-              "text/plain": { },
-              "application/json": { },
-              "text/json": { }
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/ResourceOutcome"
+                }
+              }
             }
           }
         }
@@ -806,7 +943,7 @@
           {
             "name": "id",
             "in": "path",
-            "description": "Long external id of the associated line item",
+            "description": "ID of the line item",
             "required": true,
             "style": "simple",
             "schema": {
@@ -815,33 +952,21 @@
           }
         ],
         "requestBody": {
-          "description": "Object containing a list of bid overrides for associated keywords",
           "content": {
             "application/json": {
               "schema": {
-                "$ref": "#/components/schemas/RetailMediaExternalv1SetBidsModelRequest"
+                "$ref": "#/components/schemas/SetBidsModelRequest"
               }
             }
-          },
-          "x-bodyName": "keywords"
+          }
         },
         "responses": {
           "200": {
             "description": "Success",
             "content": {
-              "text/plain": {
-                "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ResourceOutcome"
-                }
-              },
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ResourceOutcome"
-                }
-              },
-              "text/json": {
-                "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ResourceOutcome"
+                  "$ref": "#/components/schemas/ResourceOutcome"
                 }
               }
             }
@@ -849,93 +974,100 @@
           "400": {
             "description": "Bad Request",
             "content": {
-              "text/plain": { },
-              "application/json": { },
-              "text/json": { }
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/ResourceOutcome"
+                }
+              }
             }
           }
         }
       }
     },
-    "/preview/retail-media/preferred-deal-line-items/{id}/proposal": {
+    "/preview/retail-media/line-items/{lineItemId}/products": {
       "get": {
         "tags": [
           "Campaign"
         ],
-        "description": "Fetch the status of a proposal to modify a Preferred Deal Line Item.",
-        "operationId": "FetchProposal",
+        "description": "Retrieve a page of promoted products for a line item",
+        "operationId": "FetchPromotedProducts",
         "parameters": [
           {
-            "name": "id",
+            "name": "lineItemId",
             "in": "path",
-            "description": "The external id of a 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",
+            "description": "Promoted products associated with the line item",
             "content": {
-              "text/plain": {
-                "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ProposalStatusModelResponse"
-                }
-              },
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ProposalStatusModelResponse"
-                }
-              },
-              "text/json": {
-                "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ProposalStatusModelResponse"
+                  "$ref": "#/components/schemas/PromotedProductResourceCollectionOutcome"
                 }
               }
             }
           },
-          "400": {
-            "description": "Bad Request",
-            "content": {
-              "text/plain": { },
-              "application/json": { },
-              "text/json": { }
-            }
-          },
-          "500": {
-            "description": "Server Error",
-            "content": {
-              "text/plain": { },
-              "application/json": { },
-              "text/json": { }
-            }
-          },
           "403": {
-            "description": "Forbidden",
+            "description": "Invalid external line item ID",
             "content": {
-              "text/plain": { },
-              "application/json": { },
-              "text/json": { }
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/ProductResourceOutcome"
+                }
+              }
             }
           }
         }
       }
     },
-    "/preview/retail-media/preferred-deal-line-items/{id}/proposal/submit": {
+    "/preview/retail-media/line-items/{lineItemId}/products/append": {
       "post": {
         "tags": [
           "Campaign"
         ],
-        "description": "Submit a proposal to modify a Preferred Deal Line Item for review.",
-        "operationId": "SubmitProposal",
+        "description": "Append a collection of promoted products to a line item",
+        "operationId": "AppendPromotedProducts",
         "parameters": [
           {
-            "name": "id",
+            "name": "lineItemId",
             "in": "path",
-            "description": "The external id of a line item.",
+            "description": "ID of the line item",
             "required": true,
             "style": "simple",
             "schema": {
@@ -943,69 +1075,571 @@
             }
           }
         ],
+        "requestBody": {
+          "description": "Request body whose {data} contains an array of promoted products.",
+          "content": {
+            "application/json": {
+              "schema": {
+                "$ref": "#/components/schemas/PromotedProductResourceCollectionInput"
+              }
+            }
+          }
+        },
         "responses": {
-          "200": {
-            "description": "Success",
+          "204": {
+            "description": "Promoted products appended to the line item"
+          },
+          "400": {
+            "description": "Invalid request body",
             "content": {
-              "text/plain": {
-                "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ProposalStatusModelResponse"
-                }
-              },
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ProposalStatusModelResponse"
-                }
-              },
-              "text/json": {
-                "schema": {
-                  "$ref": "#/components/schemas/RetailMediaExternalv1ProposalStatusModelResponse"
+                  "$ref": "#/components/schemas/ProductResourceOutcome"
                 }
               }
             }
           },
-          "400": {
-            "description": "Bad Request",
-            "content": {
-              "text/plain": { },
-              "application/json": { },
-              "text/json": { }
-            }
-          },
-          "500": {
-            "description": "Server Error",
-            "content": {
-              "text/plain": { },
-              "application/json": { },
-              "text/json": { }
-            }
-          },
           "403": {
-            "description": "Forbidden",
+            "description": "Invalid external line item ID",
             "content": {
-              "text/plain": { },
-              "application/json": { },
-              "text/json": { }
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/ProductResourceOutcome"
+                }
+              }
             }
           }
         }
       }
     },
-    "/preview/retail-media/catalogs/sku-retrieval": {
+    "/preview/retail-media/line-items/{lineItemId}/products/delete": {
       "post": {
         "tags": [
           "Campaign"
         ],
-        "description": "Endpoint to search skus by text, retailer and sellers/brands.",
-        "operationId": "SkuRetrievalApi_PostApiV1ExternalCatalogsSkuRetrieval",
+        "description": "Remove a collection of promoted products from a line item",
+        "operationId": "DeletePromotedProducts",
         "parameters": [
           {
-            "name": "pageIndex",
-            "in": "query",
-            "description": "The start position in the overall list of matches. Must be zero or greater.",
-            "style": "form",
+            "name": "lineItemId",
+            "in": "path",
+            "description": "ID of the line item",
+            "required": true,
+            "style": "simple",
             "schema": {
-              "maximum": 500.0,
+              "type": "string"
+            }
+          }
+        ],
+        "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",
+            "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/line-items/{lineItemId}/products/pause": {
+      "post": {
+        "tags": [
+          "Campaign"
+        ],
+        "description": "Pause a collection of promoted products associated with a line item",
+        "operationId": "PausePromotedProducts",
+        "parameters": [
+          {
+            "name": "lineItemId",
+            "in": "path",
+            "description": "ID of the line item",
+            "required": true,
+            "style": "simple",
+            "schema": {
+              "type": "string"
+            }
+          }
+        ],
+        "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 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/line-items/{lineItemId}/products/unpause": {
+      "post": {
+        "tags": [
+          "Campaign"
+        ],
+        "description": "Un-pause a collection of promoted products associated with a line item",
+        "operationId": "UnpausePromotedProducts",
+        "parameters": [
+          {
+            "name": "lineItemId",
+            "in": "path",
+            "description": "ID of the line item",
+            "required": true,
+            "style": "simple",
+            "schema": {
+              "type": "string"
+            }
+          }
+        ],
+        "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": "id",
+            "in": "path",
+            "description": "ID of the line item",
+            "required": true,
+            "style": "simple",
+            "schema": {
+              "type": "string"
+            }
+          }
+        ],
+        "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/preferred-deal-line-items/{id}/proposal/submit": {
+      "post": {
+        "tags": [
+          "Campaign"
+        ],
+        "description": "Only the components of the Line Item that are in a valid state will be reviewed.",
+        "operationId": "SubmitProposal",
+        "parameters": [
+          {
+            "name": "id",
+            "in": "path",
+            "description": "ID of the line item",
+            "required": true,
+            "style": "simple",
+            "schema": {
+              "type": "string"
+            }
+          }
+        ],
+        "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": "account-id",
+            "in": "path",
+            "description": "External account id to create a creative for",
+            "required": true,
+            "style": "simple",
+            "schema": {
+              "type": "string"
+            },
+            "x-nullable": false
+          }
+        ],
+        "requestBody": {
+          "description": "The creative to create",
+          "content": {
+            "application/json": {
+              "schema": {
+                "$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"
+              }
+            }
+          },
+          "x-bodyName": "body"
+        },
+        "responses": {
+          "200": {
+            "description": "Success",
+            "content": {
+              "text/plain": {
+                "schema": {
+                  "$ref": "#/components/schemas/CreativeV2Response"
+                }
+              },
+              "application/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/CreativeV2Response"
+                }
+              },
+              "text/json": {
+                "schema": {
+                  "$ref": "#/components/schemas/CreativeV2Response"
+                }
+              }
+            }
+          },
+          "204": {
+            "description": "Creative updated",
+            "content": {
+              "text/plain": { },
+              "application/json": { },
+              "text/json": { }
+            }
+          }
+        }
+      }
+    },
+    "/preview/retail-media/catalogs/sku-retrieval": {
+      "post": {
+        "tags": [
+          "Campaign"
+        ],
+        "description": "Endpoint to search skus by text, retailer and sellers/brands.",
+        "operationId": "SkuRetrievalApi_PostApiV1ExternalCatalogsSkuRetrieval",
+        "parameters": [
+          {
+            "name": "pageIndex",
+            "in": "query",
+            "description": "The start position in the overall list of matches. Must be zero or greater.",
+            "style": "form",
+            "schema": {
+              "maximum": 500.0,
               "minimum": 0.0,
               "type": "integer",
               "format": "int32",
@@ -3047,37 +3681,38 @@
         "tags": [
           "Campaign"
         ],
-        "description": "Get bid multipliers by line item",
-        "operationId": "LineItems_GetApi202301ExternalLineItemBidMultipliersByLineItemId",
+        "description": "Fetch all bid multipliers for a given line item",
+        "operationId": "GetApiV2ExternalLineItemBidMultipliersByLineItemId",
         "parameters": [
           {
             "name": "line-item-id",
             "in": "path",
-            "description": "Long external id of the associated line item",
+            "description": "External LineItemId for bid multiplier retrieval",
             "required": true,
             "style": "simple",
             "schema": {
               "type": "string"
-            }
+            },
+            "x-nullable": false
           }
         ],
         "responses": {
           "200": {
-            "description": "Success",
+            "description": "BidMultipliers Found",
             "content": {
               "text/plain": {
                 "schema": {
-                  "$ref": "#/components/schemas/JsonApiSingleResponseOfLineItemBidMultipliers"
+                  "$ref": "#/components/schemas/JsonApiSingleResponseOfLineItemBidMultipliersV2"
                 }
               },
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/JsonApiSingleResponseOfLineItemBidMultipliers"
+                  "$ref": "#/components/schemas/JsonApiSingleResponseOfLineItemBidMultipliersV2"
                 }
               },
               "text/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/JsonApiSingleResponseOfLineItemBidMultipliers"
+                  "$ref": "#/components/schemas/JsonApiSingleResponseOfLineItemBidMultipliersV2"
                 }
               }
             }
@@ -3088,48 +3723,49 @@
         "tags": [
           "Campaign"
         ],
-        "description": "Replace bid multipliers on a line item",
-        "operationId": "LineItems_PutApi202301ExternalLineItemBidMultipliersByLineItemId",
+        "description": "Updates the bid multipliers for a given line item",
+        "operationId": "PutApiV2ExternalLineItemBidMultipliersByLineItemId",
         "parameters": [
           {
             "name": "line-item-id",
             "in": "path",
-            "description": "Long external id of the associated line item",
+            "description": "External LineItemId for bid multiplier retrieval",
             "required": true,
             "style": "simple",
             "schema": {
               "type": "string"
-            }
+            },
+            "x-nullable": false
           }
         ],
         "requestBody": {
+          "description": "New Bid Multipliers to be set",
           "content": {
             "application/json": {
               "schema": {
-                "$ref": "#/components/schemas/LineItemBidMultipliersRequest"
+                "$ref": "#/components/schemas/LineItemBidMultipliersV2Request"
               }
             }
           },
-          "x-nullable": false,
           "x-bodyName": "request"
         },
         "responses": {
           "200": {
-            "description": "Success",
+            "description": "BidMultipliers Updated",
             "content": {
               "text/plain": {
                 "schema": {
-                  "$ref": "#/components/schemas/LineItemBidMultipliersResponse"
+                  "$ref": "#/components/schemas/LineItemBidMultipliersV2Response"
                 }
               },
               "application/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/LineItemBidMultipliersResponse"
+                  "$ref": "#/components/schemas/LineItemBidMultipliersV2Response"
                 }
               },
               "text/json": {
                 "schema": {
-                  "$ref": "#/components/schemas/LineItemBidMultipliersResponse"
+                  "$ref": "#/components/schemas/LineItemBidMultipliersV2Response"
                 }
               }
             }
@@ -3497,6 +4133,304 @@
         },
         "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"
+          },
+          "attributes": {
+            "required": [
+              "contactListId",
+              "operation",
+              "requestDate"
+            ],
+            "type": "object",
+            "properties": {
+              "contactListId": {
+                "type": "integer",
+                "description": "The affected user list id",
+                "format": "int64"
+              },
+              "operation": {
+                "type": "string",
+                "description": "The action recorded"
+              },
+              "requestDate": {
+                "type": "string",
+                "description": "When the action was recorded",
+                "format": "date-time"
+              },
+              "identifierType": {
+                "type": "string",
+                "description": "The schema specified for of the identifiers",
+                "nullable": true
+              },
+              "nbInvalidIdentifiers": {
+                "type": "integer",
+                "description": "How many identifiers were invalid for the specified schema",
+                "format": "int32",
+                "nullable": true
+              },
+              "nbValidIdentifiers": {
+                "type": "integer",
+                "description": "How many identifiers were valid for the specified schema",
+                "format": "int32",
+                "nullable": true
+              },
+              "sampleInvalidIdentifiers": {
+                "type": "array",
+                "items": {
+                  "type": "string"
+                },
+                "description": "A sample of invalid identifiers if there is some",
+                "nullable": true
+              }
+            },
+            "description": "The attributes of Retaile Media contact list operation"
+          }
+        },
+        "description": "Response data of Retail Media contact list operation"
+      },
+      "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"
+      },
+      "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",
+                  "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"
+          }
+        },
+        "description": "Request data of retail media contact list amendment"
+      },
       "ApplicationSummaryModelResponse": {
         "type": "object",
         "properties": {
@@ -5044,7 +5978,7 @@
             "readOnly": true
           }
         },
-        "description": "List of responses"
+        "description": "A top-level object that encapsulates a Criteo API response for several entities and metadata"
       },
       "RmLegacyAudienceGetEntityV2ListResponse": {
         "type": "object",
@@ -5098,7 +6032,7 @@
             "nullable": true
           }
         },
-        "description": "Legacy resource"
+        "description": "A class that represents a domain entity exposed by an API"
       },
       "RmLegacyAudienceGetEntityV2Resource": {
         "type": "object",
@@ -5327,106 +6261,168 @@
         },
         "description": "Audience definition of people based on what they visited"
       },
-      "RetailMediaExternalv1KeywordsModelResponse": {
+      "KeywordsModelResponse": {
         "type": "object",
         "properties": {
+          "errors": {
+            "type": "array",
+            "items": {
+              "$ref": "#/components/schemas/RmcaCommonProblem"
+            },
+            "nullable": true,
+            "readOnly": true
+          },
+          "warnings": {
+            "type": "array",
+            "items": {
+              "$ref": "#/components/schemas/RmcaCommonProblem"
+            },
+            "nullable": true,
+            "readOnly": true
+          },
           "data": {
-            "$ref": "#/components/schemas/RetailMediaExternalv1KeywordsModelResource"
+            "$ref": "#/components/schemas/KeywordsModelResource"
+          }
+        },
+        "additionalProperties": false,
+        "description": "Response object containing keywords associated with a line item."
+      },
+      "ResourceOutcome": {
+        "type": "object",
+        "properties": {
+          "errors": {
+            "type": "array",
+            "items": {
+              "$ref": "#/components/schemas/RmcaCommonProblem"
+            },
+            "nullable": true,
+            "readOnly": true
           },
+          "warnings": {
+            "type": "array",
+            "items": {
+              "$ref": "#/components/schemas/RmcaCommonProblem"
+            },
+            "nullable": true,
+            "readOnly": true
+          }
+        },
+        "additionalProperties": false,
+        "description": "Outcome object containing errors and warnings."
+      },
+      "PromotedProductResourceCollectionOutcome": {
+        "type": "object",
+        "properties": {
           "errors": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/RetailMediaExternalv1ProblemDetails"
+              "$ref": "#/components/schemas/RmcaCommonProblem"
+            },
+            "nullable": true
+          },
+          "warnings": {
+            "type": "array",
+            "items": {
+              "$ref": "#/components/schemas/RmcaCommonProblem"
             },
-            "nullable": true,
-            "readOnly": true
+            "nullable": true
           },
-          "warnings": {
-            "uniqueItems": false,
+          "meta": {
+            "$ref": "#/components/schemas/ProductMetadata"
+          },
+          "data": {
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/RetailMediaExternalv1ProblemDetails"
+              "$ref": "#/components/schemas/PromotedProductResource"
             },
-            "nullable": true,
-            "readOnly": true
+            "nullable": true
           }
         },
-        "description": "Response object containing keywords associated with a line item"
+        "additionalProperties": false,
+        "description": "Outcome object containing promoted products."
       },
-      "RetailMediaExternalv1ResourceOutcome": {
+      "ProductResourceOutcome": {
         "type": "object",
         "properties": {
           "errors": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/RetailMediaExternalv1ProblemDetails"
+              "$ref": "#/components/schemas/RmcaCommonProblem"
             },
-            "nullable": true,
-            "readOnly": true
+            "nullable": true
           },
           "warnings": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/RetailMediaExternalv1ProblemDetails"
+              "$ref": "#/components/schemas/RmcaCommonProblem"
             },
-            "nullable": true,
-            "readOnly": true
+            "nullable": true
           }
         },
-        "description": "A response object containing errors or warnings if required"
+        "additionalProperties": false,
+        "description": "Outcome object containing errors and warnings."
       },
-      "RetailMediaExternalv1ProposalStatusModelResponse": {
+      "ProposalStatusModelResponse": {
         "type": "object",
         "properties": {
-          "data": {
-            "$ref": "#/components/schemas/RetailMediaExternalv1ProposalStatusModelResource"
-          },
           "errors": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/RetailMediaExternalv1ProblemDetails"
+              "$ref": "#/components/schemas/RmcaCommonProblem"
             },
             "nullable": true,
             "readOnly": true
           },
           "warnings": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/RetailMediaExternalv1ProblemDetails"
+              "$ref": "#/components/schemas/RmcaCommonProblem"
             },
             "nullable": true,
             "readOnly": true
+          },
+          "data": {
+            "$ref": "#/components/schemas/ProposalStatusModelResource"
           }
         },
-        "description": "Wrapper for the proposal status resource"
+        "additionalProperties": false,
+        "description": "Response object containing the state of a proposal in the context of a line item."
       },
-      "RetailMediaExternalv1AddRemoveKeywordsModelRequest": {
+      "AddRemoveKeywordsModelRequest": {
         "type": "object",
         "properties": {
           "data": {
-            "$ref": "#/components/schemas/RetailMediaExternalv1AddRemoveKeywordsModelResource"
+            "$ref": "#/components/schemas/AddRemoveKeywordsModelResource"
           }
         },
+        "additionalProperties": false,
         "description": "Request object to add or remove keywords from a line item"
       },
-      "RetailMediaExternalv1SetBidsModelRequest": {
+      "SetBidsModelRequest": {
+        "type": "object",
+        "properties": {
+          "data": {
+            "$ref": "#/components/schemas/SetBidsModelResource"
+          }
+        },
+        "additionalProperties": false,
+        "description": "Request object to set bid overrides for keywords associated with a line item"
+      },
+      "PromotedProductResourceCollectionInput": {
         "type": "object",
         "properties": {
           "data": {
-            "$ref": "#/components/schemas/RetailMediaExternalv1SetBidsModelResource"
+            "type": "array",
+            "items": {
+              "$ref": "#/components/schemas/PromotedProductResource"
+            },
+            "nullable": true
           }
         },
-        "description": "Request to set bid overrides for specified keywords on a line item"
+        "additionalProperties": false,
+        "description": "Request object containing promoted products to be appended, deleted, paused or unpaused."
       },
-      "RetailMediaExternalv1KeywordsModelResource": {
-        "required": [
-          "type"
-        ],
+      "KeywordsModelResource": {
         "type": "object",
         "properties": {
           "id": {
@@ -5434,23 +6430,57 @@
             "nullable": true
           },
           "type": {
-            "type": "string"
+            "type": "string",
+            "nullable": true
           },
           "attributes": {
-            "$ref": "#/components/schemas/RetailMediaExternalv1KeywordsModel"
+            "$ref": "#/components/schemas/KeywordsModel"
           }
         },
-        "description": "Resource wrapper of associated keywords with a line item"
+        "additionalProperties": false,
+        "description": "Resource object containing keywords associated with a line item."
       },
-      "RetailMediaExternalv1ProblemDetails": {
+      "RmcaCommonProblem": {
         "type": "object",
         "properties": {
-          "traceIdentifier": {
+          "traceId": {
+            "type": "string",
+            "description": "The request correlation ID this problem comes from.",
+            "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": {
@@ -5458,43 +6488,73 @@
             "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
           },
-          "type": {
-            "type": "string",
+          "status": {
+            "type": "integer",
+            "description": "The problem's HTTP Status code.",
+            "format": "int32",
+            "nullable": true
+          }
+        },
+        "additionalProperties": { },
+        "description": "Common problem object."
+      },
+      "ProductMetadata": {
+        "type": "object",
+        "properties": {
+          "offset": {
+            "type": "integer",
+            "description": "Zero based offset of the first item in the response.",
+            "format": "int32",
             "nullable": true
           },
-          "title": {
-            "type": "string",
+          "limit": {
+            "type": "integer",
+            "description": "Maximum number of items in the response.",
+            "format": "int32",
             "nullable": true
           },
-          "status": {
+          "count": {
             "type": "integer",
+            "description": "Total number of items available.",
             "format": "int32",
             "nullable": true
           },
-          "detail": {
+          "responseCount": {
+            "type": "integer",
+            "description": "Number of items in the response.",
+            "format": "int32",
+            "nullable": true
+          }
+        },
+        "additionalProperties": false,
+        "description": "Metadata about the response. Used for pagination."
+      },
+      "PromotedProductResource": {
+        "type": "object",
+        "properties": {
+          "id": {
             "type": "string",
             "nullable": true
           },
-          "instance": {
+          "type": {
             "type": "string",
             "nullable": true
+          },
+          "attributes": {
+            "$ref": "#/components/schemas/PromotedProduct"
           }
         },
-        "additionalProperties": {
-          "type": "object"
-        },
-        "description": "Datamodel for common errors and warnings"
+        "additionalProperties": false,
+        "description": "Resource object containing a promoted product."
       },
-      "RetailMediaExternalv1ProposalStatusModelResource": {
-        "required": [
-          "type"
-        ],
+      "ProposalStatusModelResource": {
         "type": "object",
         "properties": {
           "id": {
@@ -5502,18 +6562,17 @@
             "nullable": true
           },
           "type": {
-            "type": "string"
+            "type": "string",
+            "nullable": true
           },
           "attributes": {
-            "$ref": "#/components/schemas/RetailMediaExternalv1ProposalStatusModel"
+            "$ref": "#/components/schemas/ProposalStatusModel"
           }
         },
-        "description": "Wrapper for the proposal status"
+        "additionalProperties": false,
+        "description": "Resource object containing the state of a proposal in the context of a line item."
       },
-      "RetailMediaExternalv1AddRemoveKeywordsModelResource": {
-        "required": [
-          "type"
-        ],
+      "AddRemoveKeywordsModelResource": {
         "type": "object",
         "properties": {
           "id": {
@@ -5521,18 +6580,17 @@
             "nullable": true
           },
           "type": {
-            "type": "string"
+            "type": "string",
+            "nullable": true
           },
           "attributes": {
-            "$ref": "#/components/schemas/RetailMediaExternalv1AddRemoveKeywordsModel"
+            "$ref": "#/components/schemas/AddRemoveKeywordsModel"
           }
         },
-        "description": "Resource wrapper the keyword add and remove datamodel"
+        "additionalProperties": false,
+        "description": "Resource object containing keywords to be added or removed from a line item"
       },
-      "RetailMediaExternalv1SetBidsModelResource": {
-        "required": [
-          "type"
-        ],
+      "SetBidsModelResource": {
         "type": "object",
         "properties": {
           "id": {
@@ -5540,22 +6598,27 @@
             "nullable": true
           },
           "type": {
-            "type": "string"
+            "type": "string",
+            "nullable": true
           },
           "attributes": {
-            "$ref": "#/components/schemas/RetailMediaExternalv1SetBidsModel"
+            "$ref": "#/components/schemas/SetBidsModel"
           }
         },
-        "description": "Wrapper of the Set Bids datamodel"
+        "additionalProperties": false,
+        "description": "Resource object containing keywords and their associated bid overrides"
       },
-      "RetailMediaExternalv1KeywordsModel": {
+      "KeywordsModel": {
         "type": "object",
         "properties": {
           "keywords": {
-            "$ref": "#/components/schemas/RetailMediaExternalv1KeywordDataModel"
+            "type": "object",
+            "additionalProperties": {
+              "$ref": "#/components/schemas/KeywordDataModel"
+            },
+            "nullable": true
           },
           "rank": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
               "type": "string"
@@ -5563,43 +6626,41 @@
             "nullable": true
           }
         },
-        "description": "Datamodel representing keywords associated with a line item"
+        "additionalProperties": false,
+        "description": "The keywords associated with a line item."
       },
-      "RetailMediaExternalv1ProposalStatusModel": {
-        "required": [
-          "negotiationState",
-          "bookingStatus",
-          "runnableStatus"
-        ],
+      "PromotedProduct": {
+        "type": "object",
+        "properties": {
+          "id": {
+            "type": "string",
+            "description": "A retailer defined SKU ID for the promoted product.",
+            "nullable": true
+          },
+          "bidOverride": {
+            "type": "number",
+            "description": "The bid override for the promoted product for this line item. Ignored unless adding a product.",
+            "format": "double",
+            "nullable": true
+          },
+          "status": {
+            "$ref": "#/components/schemas/LineItemProductStatus"
+          }
+        },
+        "additionalProperties": false,
+        "description": "A promoted product."
+      },
+      "ProposalStatusModel": {
         "type": "object",
         "properties": {
           "negotiationState": {
-            "enum": [
-              "Invalid",
-              "Modified",
-              "Submitted",
-              "Reviewed",
-              "Approved"
-            ],
-            "type": "string"
+            "$ref": "#/components/schemas/NegotiationStateModel"
           },
           "bookingStatus": {
-            "enum": [
-              "NotSubmitted",
-              "Submitted",
-              "Rejected",
-              "Approved"
-            ],
-            "type": "string"
+            "$ref": "#/components/schemas/ApprovalStatusModel"
           },
           "runnableStatus": {
-            "enum": [
-              "NotSubmitted",
-              "Submitted",
-              "Rejected",
-              "Approved"
-            ],
-            "type": "string"
+            "$ref": "#/components/schemas/ApprovalStatusModel"
           },
           "comment": {
             "type": "string",
@@ -5616,59 +6677,45 @@
             "nullable": true
           }
         },
-        "description": "The proposal status 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."
+        "additionalProperties": false,
+        "description": "The state of a proposal in the context of a line item."
       },
-      "RetailMediaExternalv1AddRemoveKeywordsModel": {
+      "AddRemoveKeywordsModel": {
         "type": "object",
         "properties": {
           "keywords": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/RetailMediaExternalv1AddRemoveKeywordModel"
+              "$ref": "#/components/schemas/AddRemoveKeywordModel"
             },
             "nullable": true
           }
         },
+        "additionalProperties": false,
         "description": "Data model containing keywords to be added or removed from a line item"
       },
-      "RetailMediaExternalv1SetBidsModel": {
+      "SetBidsModel": {
         "type": "object",
         "properties": {
           "keywords": {
-            "uniqueItems": false,
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/RetailMediaExternalv1SetBidModel"
+              "$ref": "#/components/schemas/SetBidModel"
             },
             "nullable": true
           }
         },
-        "description": "Data model containing keywords and bid overrides to associate to them"
+        "additionalProperties": false,
+        "description": "Data model containing keywords and their associated bid overrides"
       },
-      "RetailMediaExternalv1KeywordDataModel": {
+      "KeywordDataModel": {
         "type": "object",
         "properties": {
           "reviewState": {
-            "enum": [
-              "InReview",
-              "Recommended",
-              "Approved",
-              "AutoApproved",
-              "Rejected",
-              "AutoRejected"
-            ],
-            "type": "string",
-            "nullable": true
+            "$ref": "#/components/schemas/ReviewStateModel"
           },
           "matchType": {
-            "enum": [
-              "PositiveExactMatch",
-              "NegativeExactMatch",
-              "NegativeBroadMatch"
-            ],
-            "type": "string",
-            "nullable": true
+            "$ref": "#/components/schemas/MatchTypeModel"
           },
           "bid": {
             "type": "number",
@@ -5676,7 +6723,7 @@
             "nullable": true
           },
           "inputKeywords": {
-            "$ref": "#/components/schemas/RetailMediaExternalv1InputKeywordsModel"
+            "$ref": "#/components/schemas/InputKeywordsModel"
           },
           "createdAt": {
             "type": "string",
@@ -5689,9 +6736,40 @@
             "nullable": true
           }
         },
-        "description": "Details for a specific keyword"
+        "additionalProperties": false,
+        "description": "A single keyword and associated bid override"
       },
-      "RetailMediaExternalv1AddRemoveKeywordModel": {
+      "LineItemProductStatus": {
+        "enum": [
+          "Unknown",
+          "Active",
+          "Paused"
+        ],
+        "type": "string",
+        "description": "The status of a promoted product in the context of the line item."
+      },
+      "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": {
@@ -5701,22 +6779,17 @@
             "nullable": true
           },
           "matchType": {
-            "enum": [
-              "PositiveExactMatch",
-              "NegativeExactMatch",
-              "NegativeBroadMatch"
-            ],
-            "type": "string",
-            "nullable": true
+            "$ref": "#/components/schemas/MatchTypeModel"
           },
           "isDeleted": {
             "type": "boolean",
             "nullable": true
           }
         },
+        "additionalProperties": false,
         "description": "A single keyword to be added or removed"
       },
-      "RetailMediaExternalv1SetBidModel": {
+      "SetBidModel": {
         "type": "object",
         "properties": {
           "phrase": {
@@ -5725,43 +6798,119 @@
             "type": "string",
             "nullable": true
           },
-          "bid": {
-            "type": "number",
-            "format": "double",
-            "nullable": true
+          "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
+          },
+          "negativeExact": {
+            "type": "array",
+            "items": {
+              "type": "string"
+            },
+            "nullable": true
+          },
+          "positiveExact": {
+            "type": "array",
+            "items": {
+              "type": "string"
+            },
+            "nullable": true
+          }
+        },
+        "additionalProperties": false,
+        "description": "The keywords to be added or removed from a line item."
+      },
+      "CreativeV2Response": {
+        "type": "object",
+        "properties": {
+          "data": {
+            "$ref": "#/components/schemas/ResourceOfCreativeV2"
+          },
+          "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 single keyword and associated bid override"
+        "description": "A top-level object that encapsulates a Criteo API response for a single entity",
+        "x-nullable": true
       },
-      "RetailMediaExternalv1InputKeywordsModel": {
+      "CreativeV2ListResponse": {
         "type": "object",
         "properties": {
-          "negativeBroad": {
-            "uniqueItems": false,
+          "data": {
             "type": "array",
             "items": {
-              "type": "string"
+              "$ref": "#/components/schemas/ResourceOfCreativeV2"
             },
             "nullable": true
           },
-          "negativeExact": {
-            "uniqueItems": false,
+          "warnings": {
             "type": "array",
             "items": {
-              "type": "string"
+              "$ref": "#/components/schemas/CommonProblem"
             },
-            "nullable": true
+            "nullable": true,
+            "readOnly": true
           },
-          "positiveExact": {
-            "uniqueItems": false,
+          "errors": {
             "type": "array",
             "items": {
-              "type": "string"
+              "$ref": "#/components/schemas/CommonProblem"
             },
-            "nullable": true
+            "nullable": true,
+            "readOnly": true
           }
         },
-        "description": "Input values associated with a keyword"
+        "description": "A top-level object that encapsulates a Criteo API response for several entities",
+        "x-nullable": true
       },
       "SkuDataPreviewListResponse": {
         "type": "object",
@@ -5965,6 +7114,86 @@
         "description": "Data model for response resource",
         "x-nullable": false
       },
+      "ExternalCreativeCreateModelV2": {
+        "required": [
+          "name",
+          "retailerId",
+          "templateId",
+          "templateVariableValues"
+        ],
+        "type": "object",
+        "properties": {
+          "name": {
+            "type": "string",
+            "description": "The name of the creative"
+          },
+          "brandId": {
+            "type": "integer",
+            "description": "The brand associated to the creative",
+            "format": "int64",
+            "nullable": true
+          },
+          "retailerId": {
+            "type": "integer",
+            "description": "The retailer associated to the creative",
+            "format": "int32"
+          },
+          "templateId": {
+            "type": "integer",
+            "description": "The creative template used for this creative",
+            "format": "int32"
+          },
+          "templateVariableValues": {
+            "type": "array",
+            "items": {
+              "$ref": "#/components/schemas/ExternalTemplateVariableValue"
+            },
+            "description": "The template chosen values"
+          }
+        },
+        "description": "Create model of a creative",
+        "x-nullable": false
+      },
+      "ExternalCreativeUpdateModelV2": {
+        "required": [
+          "name",
+          "retailerId",
+          "templateId",
+          "templateVariableValues"
+        ],
+        "type": "object",
+        "properties": {
+          "name": {
+            "type": "string",
+            "description": "The name of the creative"
+          },
+          "brandId": {
+            "type": "integer",
+            "description": "The brand associated to the creative",
+            "format": "int64",
+            "nullable": true
+          },
+          "retailerId": {
+            "type": "integer",
+            "description": "The retailer associated to the creative",
+            "format": "int32"
+          },
+          "templateId": {
+            "type": "integer",
+            "description": "The creative template used for this creative",
+            "format": "int32"
+          },
+          "templateVariableValues": {
+            "type": "array",
+            "items": {
+              "$ref": "#/components/schemas/ExternalTemplateVariableValue"
+            },
+            "description": "The template chosen values"
+          }
+        },
+        "description": "Update model of a creative",
+        "x-nullable": false
+      },
       "SkuSearchRequestPreviewRequest": {
         "type": "object",
         "properties": {
@@ -5995,6 +7224,26 @@
         "description": "Data model for an input resource",
         "x-nullable": false
       },
+      "ResourceOfCreativeV2": {
+        "type": "object",
+        "properties": {
+          "attributes": {
+            "$ref": "#/components/schemas/ExternalCreativeV2"
+          },
+          "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
+      },
       "ResourceOfSkuDataPreview": {
         "type": "object",
         "properties": {
@@ -6201,6 +7450,38 @@
         "description": "Data model for a Resource",
         "x-nullable": false
       },
+      "ExternalTemplateVariableValue": {
+        "required": [
+          "id"
+        ],
+        "type": "object",
+        "properties": {
+          "id": {
+            "type": "string",
+            "description": "The id of the template variable the value is applied to"
+          },
+          "textVariableValue": {
+            "$ref": "#/components/schemas/ExternalTextVariableValue"
+          },
+          "choiceVariableValue": {
+            "$ref": "#/components/schemas/ExternalChoiceVariableValue"
+          },
+          "colorVariableValue": {
+            "$ref": "#/components/schemas/ExternalColorVariableValue"
+          },
+          "filesVariableValue": {
+            "$ref": "#/components/schemas/ExternalFilesVariableValue"
+          },
+          "hyperlinkVariableValue": {
+            "$ref": "#/components/schemas/ExternalHyperlinkVariableValue"
+          },
+          "videoVariableValue": {
+            "$ref": "#/components/schemas/ExternalVideoVariableValue"
+          }
+        },
+        "description": "A value for a variable in a creative template.",
+        "x-nullable": false
+      },
       "ResourceOfSkuSearchRequestPreview": {
         "type": "object",
         "properties": {
@@ -6261,6 +7542,107 @@
         "description": "Data model for a Resource",
         "x-nullable": false
       },
+      "ExternalCreativeV2": {
+        "required": [
+          "name",
+          "status",
+          "brandId",
+          "retailerId",
+          "templateId",
+          "templateName",
+          "formatId",
+          "associatedLineItemIds",
+          "updatedAt",
+          "creativeFormatType",
+          "environments",
+          "templateVariableValues"
+        ],
+        "type": "object",
+        "properties": {
+          "name": {
+            "type": "string",
+            "description": "Name"
+          },
+          "status": {
+            "enum": [
+              "Ready",
+              "InUse",
+              "Archived",
+              "Deleted"
+            ],
+            "type": "string",
+            "description": "Creative Status"
+          },
+          "brandId": {
+            "type": "integer",
+            "description": "Brand Id",
+            "format": "int64"
+          },
+          "retailerId": {
+            "type": "integer",
+            "description": "Retailer Id",
+            "format": "int32"
+          },
+          "templateId": {
+            "type": "integer",
+            "description": "Template Id",
+            "format": "int32"
+          },
+          "templateName": {
+            "type": "string",
+            "description": "Template Name"
+          },
+          "formatId": {
+            "type": "integer",
+            "description": "Format Id",
+            "format": "int32"
+          },
+          "associatedLineItemIds": {
+            "type": "array",
+            "items": {
+              "type": "string"
+            },
+            "description": "Associated Line Item Ids"
+          },
+          "updatedAt": {
+            "type": "string",
+            "description": "Updated at time",
+            "format": "date-time"
+          },
+          "creativeFormatType": {
+            "enum": [
+              "Unknown",
+              "FlagShip",
+              "Showcase",
+              "SponsoredProducts",
+              "Butterfly",
+              "BundleBoost",
+              "IAB",
+              "Custom",
+              "DisplayPanel",
+              "DigitalShelfTalker"
+            ],
+            "type": "string",
+            "description": "Creative format type"
+          },
+          "environments": {
+            "type": "array",
+            "items": {
+              "$ref": "#/components/schemas/ExternalPageTypeEnvironment"
+            },
+            "description": "Environment type (e.g. mobile, web, app)"
+          },
+          "templateVariableValues": {
+            "type": "array",
+            "items": {
+              "$ref": "#/components/schemas/ExternalTemplateVariableValue"
+            },
+            "description": "The template chosen values"
+          }
+        },
+        "description": "A creative entity",
+        "x-nullable": false
+      },
       "SkuDataPreview": {
         "required": [
           "skuKey",
@@ -6643,34 +8025,139 @@
             "x-nullable": false
           }
         },
-        "description": "Ad Placement information on a page",
+        "description": "Ad Placement information on a page",
+        "x-nullable": false
+      },
+      "BrandPreview": {
+        "required": [
+          "name"
+        ],
+        "type": "object",
+        "properties": {
+          "name": {
+            "type": "string",
+            "description": "Brand Name",
+            "x-nullable": false
+          }
+        },
+        "description": "Retail media brands",
+        "x-nullable": false
+      },
+      "SellerPreview": {
+        "type": "object",
+        "properties": {
+          "name": {
+            "type": "string",
+            "description": "Seller Name",
+            "x-nullable": false
+          }
+        },
+        "description": "Retail media Seller Id and Name",
+        "x-nullable": false
+      },
+      "ExternalTextVariableValue": {
+        "type": "object",
+        "properties": {
+          "text": {
+            "type": "string",
+            "description": "The displayed text",
+            "nullable": true
+          }
+        },
+        "description": "A value of a template text variable",
+        "x-nullable": true
+      },
+      "ExternalChoiceVariableValue": {
+        "required": [
+          "chosenOptions"
+        ],
+        "type": "object",
+        "properties": {
+          "chosenOptions": {
+            "type": "array",
+            "items": {
+              "type": "string"
+            },
+            "description": "The chosen options"
+          }
+        },
+        "description": "A value of a template choice variable (among different accepted options)",
+        "x-nullable": false
+      },
+      "ExternalColorVariableValue": {
+        "type": "object",
+        "properties": {
+          "color": {
+            "pattern": "^#(([0-9a-fA-F]{2}){3}|([0-9a-fA-F]){3})$",
+            "type": "string",
+            "description": "The displayed color (HEX format)",
+            "nullable": true
+          }
+        },
+        "description": "A value of a template color variable",
+        "x-nullable": true
+      },
+      "ExternalFilesVariableValue": {
+        "required": [
+          "assetIds"
+        ],
+        "type": "object",
+        "properties": {
+          "assetIds": {
+            "minItems": 1,
+            "type": "array",
+            "items": {
+              "type": "string"
+            },
+            "description": "The assets representing the images to be displayed"
+          }
+        },
+        "description": "A value of a template file variable (one or several files), like images in a creative",
         "x-nullable": false
       },
-      "BrandPreview": {
-        "required": [
-          "name"
-        ],
+      "ExternalHyperlinkVariableValue": {
         "type": "object",
         "properties": {
-          "name": {
+          "url": {
             "type": "string",
-            "description": "Brand Name",
-            "x-nullable": false
+            "description": "The url to redirect to",
+            "nullable": true
           }
         },
-        "description": "Retail media brands",
-        "x-nullable": false
+        "description": "A value of a template hyperlink variable",
+        "x-nullable": true
       },
-      "SellerPreview": {
+      "ExternalVideoVariableValue": {
+        "required": [
+          "url",
+          "width",
+          "height",
+          "duration"
+        ],
         "type": "object",
         "properties": {
-          "name": {
+          "url": {
+            "minLength": 1,
             "type": "string",
-            "description": "Seller Name",
-            "x-nullable": false
+            "description": "The vast video url"
+          },
+          "width": {
+            "type": "integer",
+            "description": "The video's width",
+            "format": "int32"
+          },
+          "height": {
+            "type": "integer",
+            "description": "The video's height",
+            "format": "int32"
+          },
+          "duration": {
+            "minLength": 1,
+            "type": "string",
+            "description": "The video's duration"
           }
         },
-        "description": "Retail media Seller Id and Name",
+        "description": "A value of a template video variable",
         "x-nullable": false
       },
       "SkuSearchRequestPreview": {
@@ -6796,6 +8283,51 @@
         "description": "A request for sku by search text and brand ids.",
         "x-nullable": false
       },
+      "ExternalPageTypeEnvironment": {
+        "type": "object",
+        "properties": {
+          "pageType": {
+            "enum": [
+              "Unknown",
+              "Search",
+              "Home",
+              "Browse",
+              "Checkout",
+              "Category",
+              "ProductDetail",
+              "Confirmation",
+              "Merchandising",
+              "Deals",
+              "Favorites",
+              "SearchBar",
+              "CategoryMenu"
+            ],
+            "type": "string",
+            "description": "Creative PageType",
+            "nullable": true
+          },
+          "environments": {
+            "type": "array",
+            "items": {
+              "enum": [
+                "Web",
+                "Mobile",
+                "App",
+                "Lockout",
+                "Mixed",
+                "iOS",
+                "Android"
+              ],
+              "type": "string",
+              "description": "Creative format, defining where the creative can be served"
+            },
+            "description": "List of environments per PageType",
+            "nullable": true
+          }
+        },
+        "description": "The PageType-Environment Tuples for creatives",
+        "x-nullable": false
+      },
       "Category": {
         "type": "object",
         "properties": {
@@ -7247,21 +8779,6 @@
             },
             "description": "Account Ids to report on"
           },
-          "reportType": {
-            "enum": [
-              "summary",
-              "pageType",
-              "keyword",
-              "productCategory",
-              "product",
-              "environment",
-              "servedCategory"
-            ],
-            "type": "string",
-            "description": "Type of report, if no dimensions/metrics are provided, falls back to summary reportType",
-            "default": "summary",
-            "nullable": true
-          },
           "aggregationLevel": {
             "enum": [
               "campaign",
@@ -7274,20 +8791,24 @@
           },
           "campaignType": {
             "enum": [
+              "all",
               "sponsoredProducts",
               "onSiteDisplays"
             ],
             "type": "string",
             "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
           },
           "format": {
@@ -7302,12 +8823,28 @@
             "default": "json-compact",
             "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",
+            "nullable": true
+          },
           "clickAttributionWindow": {
             "enum": [
+              "none",
               "7D",
               "14D",
-              "30D",
-              "none"
+              "30D"
             ],
             "type": "string",
             "description": "Click attribution window",
@@ -7316,11 +8853,11 @@
           },
           "viewAttributionWindow": {
             "enum": [
+              "none",
               "1D",
               "7D",
               "14D",
-              "30D",
-              "none"
+              "30D"
             ],
             "type": "string",
             "description": "View attribution window",
@@ -7338,19 +8875,20 @@
                 "campaignId",
                 "campaignName",
                 "campaignTypeName",
-                "advProductCategory",
-                "advProductId",
-                "advProductName",
-                "brandId",
-                "brandName",
                 "lineItemId",
                 "lineItemName",
                 "retailerId",
                 "retailerName",
-                "keyword",
-                "pageTypeName",
+                "brandId",
+                "brandName",
+                "advProductCategory",
+                "advProductId",
+                "advProductName",
                 "salesChannel",
-                "environment"
+                "environment",
+                "pageTypeName",
+                "keyword",
+                "searchTerm"
               ],
               "type": "string"
             },
@@ -7374,6 +8912,14 @@
                 "cpo",
                 "cpm",
                 "roas",
+                "videoViews",
+                "videosStarted",
+                "videosPlayedTo25",
+                "videosPlayedTo50",
+                "videosPlayedTo75",
+                "videosPlayedTo100",
+                "videoPlayingRate",
+                "videoCompletionRate",
                 "uniqueVisitors",
                 "frequency"
               ],
@@ -7423,20 +8969,24 @@
           },
           "campaignType": {
             "enum": [
+              "all",
               "sponsoredProducts",
               "onSiteDisplays"
             ],
             "type": "string",
             "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
           },
           "format": {
@@ -7469,10 +9019,10 @@
           },
           "clickAttributionWindow": {
             "enum": [
+              "none",
               "7D",
               "14D",
-              "30D",
-              "none"
+              "30D"
             ],
             "type": "string",
             "description": "Click attribution window",
@@ -7481,11 +9031,11 @@
           },
           "viewAttributionWindow": {
             "enum": [
+              "none",
               "1D",
               "7D",
               "14D",
-              "30D",
-              "none"
+              "30D"
             ],
             "type": "string",
             "description": "View attribution window",
@@ -7503,19 +9053,20 @@
                 "campaignId",
                 "campaignName",
                 "campaignTypeName",
-                "advProductCategory",
-                "advProductId",
-                "advProductName",
-                "brandId",
-                "brandName",
                 "lineItemId",
                 "lineItemName",
                 "retailerId",
                 "retailerName",
-                "keyword",
-                "pageTypeName",
+                "brandId",
+                "brandName",
+                "advProductCategory",
+                "advProductId",
+                "advProductName",
                 "salesChannel",
-                "environment"
+                "environment",
+                "pageTypeName",
+                "keyword",
+                "searchTerm"
               ],
               "type": "string"
             },
@@ -7539,6 +9090,14 @@
                 "cpo",
                 "cpm",
                 "roas",
+                "videoViews",
+                "videosStarted",
+                "videosPlayedTo25",
+                "videosPlayedTo50",
+                "videosPlayedTo75",
+                "videosPlayedTo100",
+                "videoPlayingRate",
+                "videoCompletionRate",
                 "uniqueVisitors",
                 "frequency"
               ],
@@ -7588,20 +9147,24 @@
           },
           "campaignType": {
             "enum": [
+              "all",
               "sponsoredProducts",
               "onSiteDisplays"
             ],
             "type": "string",
             "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
           },
           "format": {
@@ -7634,10 +9197,10 @@
           },
           "clickAttributionWindow": {
             "enum": [
+              "none",
               "7D",
               "14D",
-              "30D",
-              "none"
+              "30D"
             ],
             "type": "string",
             "description": "Click attribution window",
@@ -7646,11 +9209,11 @@
           },
           "viewAttributionWindow": {
             "enum": [
+              "none",
               "1D",
               "7D",
               "14D",
-              "30D",
-              "none"
+              "30D"
             ],
             "type": "string",
             "description": "View attribution window",
@@ -7668,19 +9231,20 @@
                 "campaignId",
                 "campaignName",
                 "campaignTypeName",
-                "advProductCategory",
-                "advProductId",
-                "advProductName",
-                "brandId",
-                "brandName",
                 "lineItemId",
                 "lineItemName",
                 "retailerId",
                 "retailerName",
-                "keyword",
-                "pageTypeName",
+                "brandId",
+                "brandName",
+                "advProductCategory",
+                "advProductId",
+                "advProductName",
                 "salesChannel",
-                "environment"
+                "environment",
+                "pageTypeName",
+                "keyword",
+                "searchTerm"
               ],
               "type": "string"
             },
@@ -7704,6 +9268,14 @@
                 "cpo",
                 "cpm",
                 "roas",
+                "videoViews",
+                "videosStarted",
+                "videosPlayedTo25",
+                "videosPlayedTo50",
+                "videosPlayedTo75",
+                "videosPlayedTo100",
+                "videoPlayingRate",
+                "videoCompletionRate",
                 "uniqueVisitors",
                 "frequency"
               ],
@@ -7761,10 +9333,10 @@
           },
           "clickAttributionWindow": {
             "enum": [
+              "none",
               "7D",
               "14D",
-              "30D",
-              "none"
+              "30D"
             ],
             "type": "string",
             "description": "Click attribution window",
@@ -7773,11 +9345,11 @@
           },
           "viewAttributionWindow": {
             "enum": [
+              "none",
               "1D",
               "7D",
               "14D",
-              "30D",
-              "none"
+              "30D"
             ],
             "type": "string",
             "description": "View attribution window",
@@ -7786,34 +9358,38 @@
           },
           "campaignType": {
             "enum": [
+              "all",
               "sponsoredProducts",
               "onSiteDisplays"
             ],
             "type": "string",
             "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
           },
           "dimensions": {
             "type": "array",
             "items": {
               "enum": [
-                "campaignName",
-                "campaignId",
-                "lineItemId",
                 "purchasedDate",
                 "purchasedHour",
                 "advDate",
                 "advHour",
                 "daysDifference",
+                "campaignId",
+                "campaignName",
+                "lineItemId",
                 "lineItemName",
                 "advProductId",
                 "advProductGtin",
@@ -7828,8 +9404,8 @@
                 "advEngagement",
                 "advToPurchasedProductRelationship",
                 "salesChannel",
-                "pageTypeName",
                 "retailerName",
+                "pageTypeName",
                 "keyword",
                 "attributionWindow"
               ],
@@ -7906,10 +9482,10 @@
           },
           "clickAttributionWindow": {
             "enum": [
+              "none",
               "7D",
               "14D",
-              "30D",
-              "none"
+              "30D"
             ],
             "type": "string",
             "description": "Click attribution window",
@@ -7918,11 +9494,11 @@
           },
           "viewAttributionWindow": {
             "enum": [
+              "none",
               "1D",
               "7D",
               "14D",
-              "30D",
-              "none"
+              "30D"
             ],
             "type": "string",
             "description": "View attribution window",
@@ -7931,20 +9507,24 @@
           },
           "campaignType": {
             "enum": [
+              "all",
               "sponsoredProducts",
               "onSiteDisplays"
             ],
             "type": "string",
             "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
           },
           "dimensions": {
@@ -7958,19 +9538,20 @@
                 "campaignId",
                 "campaignName",
                 "campaignTypeName",
-                "advProductCategory",
-                "advProductId",
-                "advProductName",
-                "brandId",
-                "brandName",
                 "lineItemId",
                 "lineItemName",
                 "retailerId",
                 "retailerName",
-                "keyword",
-                "pageTypeName",
+                "brandId",
+                "brandName",
+                "advProductCategory",
+                "advProductId",
+                "advProductName",
                 "salesChannel",
-                "environment"
+                "environment",
+                "pageTypeName",
+                "keyword",
+                "searchTerm"
               ],
               "type": "string"
             },
@@ -7994,6 +9575,14 @@
                 "cpo",
                 "cpm",
                 "roas",
+                "videoViews",
+                "videosStarted",
+                "videosPlayedTo25",
+                "videosPlayedTo50",
+                "videosPlayedTo75",
+                "videosPlayedTo100",
+                "videoPlayingRate",
+                "videoCompletionRate",
                 "uniqueVisitors",
                 "frequency"
               ],
@@ -8066,10 +9655,10 @@
           },
           "clickAttributionWindow": {
             "enum": [
+              "none",
               "7D",
               "14D",
-              "30D",
-              "none"
+              "30D"
             ],
             "type": "string",
             "description": "Click attribution window",
@@ -8078,11 +9667,11 @@
           },
           "viewAttributionWindow": {
             "enum": [
+              "none",
               "1D",
               "7D",
               "14D",
-              "30D",
-              "none"
+              "30D"
             ],
             "type": "string",
             "description": "View attribution window",
@@ -8091,20 +9680,24 @@
           },
           "campaignType": {
             "enum": [
+              "all",
               "sponsoredProducts",
               "onSiteDisplays"
             ],
             "type": "string",
             "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
           },
           "dimensions": {
@@ -8118,19 +9711,20 @@
                 "campaignId",
                 "campaignName",
                 "campaignTypeName",
-                "advProductCategory",
-                "advProductId",
-                "advProductName",
-                "brandId",
-                "brandName",
                 "lineItemId",
                 "lineItemName",
                 "retailerId",
                 "retailerName",
-                "keyword",
-                "pageTypeName",
+                "brandId",
+                "brandName",
+                "advProductCategory",
+                "advProductId",
+                "advProductName",
                 "salesChannel",
-                "environment"
+                "environment",
+                "pageTypeName",
+                "keyword",
+                "searchTerm"
               ],
               "type": "string"
             },
@@ -8154,6 +9748,14 @@
                 "cpo",
                 "cpm",
                 "roas",
+                "videoViews",
+                "videosStarted",
+                "videosPlayedTo25",
+                "videosPlayedTo50",
+                "videosPlayedTo75",
+                "videosPlayedTo100",
+                "videoPlayingRate",
+                "videoCompletionRate",
                 "uniqueVisitors",
                 "frequency"
               ],
@@ -8732,16 +10334,14 @@
           "countryIds": {
             "type": "array",
             "items": {
-              "type": "integer",
-              "format": "int32"
+              "type": "string"
             },
             "description": "list of countries associated with the account",
             "nullable": true
           },
           "currencyId": {
-            "type": "integer",
+            "type": "string",
             "description": "the currency for the account",
-            "format": "int32",
             "nullable": true
           },
           "parentAccountLabel": {
@@ -9298,58 +10898,58 @@
         "description": "A top-level object that encapsulates a Criteo API response for a single entity",
         "x-nullable": false
       },
-      "JsonApiSingleResponseOfLineItemBidMultipliers": {
+      "JsonApiSingleResponseOfLineItemBidMultipliersV2": {
         "required": [
           "data"
         ],
         "type": "object",
         "properties": {
           "data": {
-            "$ref": "#/components/schemas/JsonApiBodyWithIdOfInt64AndLineItemBidMultipliersAndLineItemBidMultipliers"
+            "$ref": "#/components/schemas/JsonApiBodyWithIdOfInt64AndLineItemBidMultipliersV2AndLineItemBidMultipliersV2"
           },
           "errors": {
             "type": "array",
             "items": {
               "$ref": "#/components/schemas/CommonError"
             },
-            "x-nullable": false
+            "nullable": true
           },
           "warnings": {
             "type": "array",
             "items": {
               "$ref": "#/components/schemas/CommonWarning"
             },
-            "x-nullable": false
+            "nullable": true
           }
         },
-        "description": "Data model for the response of a line item bid multiplier",
+        "description": "A JSON:API wrapper class to add one JSON:API <typeparamref name=\"T\" /> within a data property",
         "x-nullable": false
       },
-      "LineItemBidMultipliersResponse": {
+      "LineItemBidMultipliersV2Response": {
         "type": "object",
         "properties": {
           "data": {
-            "$ref": "#/components/schemas/ResourceOfLineItemBidMultipliers"
+            "$ref": "#/components/schemas/ResourceOfLineItemBidMultipliersV2"
           },
           "warnings": {
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/ProblemDetails"
+              "$ref": "#/components/schemas/CommonProblem"
             },
-            "readOnly": true,
-            "x-nullable": false
+            "nullable": true,
+            "readOnly": true
           },
           "errors": {
             "type": "array",
             "items": {
-              "$ref": "#/components/schemas/ProblemDetails"
+              "$ref": "#/components/schemas/CommonProblem"
             },
-            "readOnly": true,
-            "x-nullable": false
+            "nullable": true,
+            "readOnly": true
           }
         },
-        "description": "Data model for response resource",
-        "x-nullable": false
+        "description": "A top-level object that encapsulates a Criteo API response for a single entity",
+        "x-nullable": true
       },
       "ProductButtonListResponse": {
         "type": "object",
@@ -9391,15 +10991,15 @@
         "description": "Data model for a create input resource",
         "x-nullable": false
       },
-      "LineItemBidMultipliersRequest": {
+      "LineItemBidMultipliersV2Request": {
         "type": "object",
         "properties": {
           "data": {
-            "$ref": "#/components/schemas/ResourceOfLineItemBidMultipliers"
+            "$ref": "#/components/schemas/ResourceOfLineItemBidMultipliersV2"
           }
         },
-        "description": "Data model for an input resource",
-        "x-nullable": false
+        "description": "A top-level object that encapsulates a Criteo API request for a single entity",
+        "x-nullable": true
       },
       "ProductButtonListRequest": {
         "type": "object",
@@ -9455,7 +11055,7 @@
         "description": "Data model for a Resource",
         "x-nullable": true
       },
-      "JsonApiBodyWithIdOfInt64AndLineItemBidMultipliersAndLineItemBidMultipliers": {
+      "JsonApiBodyWithIdOfInt64AndLineItemBidMultipliersV2AndLineItemBidMultipliersV2": {
         "required": [
           "id",
           "type"
@@ -9464,25 +11064,23 @@
         "properties": {
           "id": {
             "type": "string",
-            "format": "long-id",
-            "x-nullable": false
+            "format": "long-id"
           },
           "type": {
-            "type": "string",
-            "x-nullable": false
+            "type": "string"
           },
           "attributes": {
-            "$ref": "#/components/schemas/LineItemBidMultipliers"
+            "$ref": "#/components/schemas/ExternalLineItemBidMultipliersV2"
           }
         },
-        "description": "Response object for line item bid multiplier calls",
+        "description": "A JSON:API wrapper class to format a <typeparamref name=\"TAttributes\" /> with external Id, Type, and\r\nAttributes properties",
         "x-nullable": false
       },
-      "ResourceOfLineItemBidMultipliers": {
+      "ResourceOfLineItemBidMultipliersV2": {
         "type": "object",
         "properties": {
           "attributes": {
-            "$ref": "#/components/schemas/LineItemBidMultipliers"
+            "$ref": "#/components/schemas/ExternalLineItemBidMultipliersV2"
           },
           "id": {
             "type": "string",
@@ -9495,8 +11093,8 @@
             "nullable": true
           }
         },
-        "description": "Data model for a Resource",
-        "x-nullable": false
+        "description": "A class that represents a domain entity exposed by an API",
+        "x-nullable": true
       },
       "ResourceOfProductButtonResponse": {
         "type": "object",
@@ -9688,52 +11286,78 @@
         "description": "A Retail Media Preferred Line Item used to hold bid settings for one or many promoted products on a single retailer",
         "x-nullable": false
       },
-      "LineItemBidMultipliers": {
+      "ExternalLineItemBidMultipliersV2": {
         "type": "object",
         "properties": {
           "search": {
             "type": "number",
-            "format": "double",
-            "x-nullable": false
+            "description": "Search Page Type Bid Multiplier",
+            "format": "decimal",
+            "nullable": true
           },
-          "homepage": {
+          "home": {
             "type": "number",
-            "format": "double",
-            "x-nullable": false
+            "description": "Home Page Type Bid Multiplier",
+            "format": "decimal",
+            "nullable": true
           },
-          "categories": {
+          "category": {
             "type": "number",
-            "format": "double",
-            "x-nullable": false
+            "description": "Categories Page Type Bid Multiplier",
+            "format": "decimal",
+            "nullable": true
           },
           "productDetail": {
             "type": "number",
-            "format": "double",
-            "x-nullable": false
+            "description": "ProductDetail Page Type Bid Multiplier",
+            "format": "decimal",
+            "nullable": true
           },
           "confirmation": {
             "type": "number",
-            "format": "double",
-            "x-nullable": false
+            "description": "Confirmation Page Type Bid Multiplier",
+            "format": "decimal",
+            "nullable": true
           },
           "merchandising": {
             "type": "number",
-            "format": "double",
-            "x-nullable": false
+            "description": "Merchandising Page Type Bid Multiplier",
+            "format": "decimal",
+            "nullable": true
           },
           "deals": {
             "type": "number",
-            "format": "double",
-            "x-nullable": false
+            "description": "Deals Page Type Bid Multiplier",
+            "format": "decimal",
+            "nullable": true
           },
           "checkout": {
             "type": "number",
-            "format": "double",
-            "x-nullable": false
+            "description": "Checkout Page Type Bid Multiplier",
+            "format": "decimal",
+            "nullable": true
+          },
+          "favorites": {
+            "type": "number",
+            "description": "Favorites Page Type Bid Multiplier",
+            "format": "decimal",
+            "nullable": true
+          },
+          "searchBar": {
+            "type": "number",
+            "description": "SearchBar Page Type Bid Multiplier",
+            "format": "decimal",
+            "nullable": true
+          },
+          "categoryMenu": {
+            "type": "number",
+            "description": "CategoryMenu Page Type Bid Multiplier",
+            "format": "decimal",
+            "nullable": true
           }
         },
-        "description": "Data model representing bid multipliers on a line item",
-        "x-nullable": false
+        "description": "The Bid Multiplier Entity of a LineItem",
+        "x-nullable": true
       },
       "ExternalProductButtonResponse": {
         "required": [