> For the complete documentation index, see [llms.txt](https://help.citrusad.com/retail-media-interface/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.citrusad.com/retail-media-interface/partner/de/campaign-management-api/creativeassets/uploadfile.md).

# Kampagnendatei hochladen

Use this endpoint to upload different types of campaign files. You can upload images for banners and banner X in jpeg, jpg, png, gif, PDF, or SVG formats. You may also upload content standard PDF files and content standard display logos. Ensure that logo files are in jpeg, jpg, or png format. **New version available**: [Kampagndatei hochladen - v4](/retail-media-interface/partner/de/campaign-management-api/creativeassets/uploadfile-2.md) ist jetzt mit erweiterter Funktionalität verfügbar.

{% hint style="info" %}
Richtlinien für den Datei-Upload

* **Dateigrößenbeschränkung**: Die maximal unterstützte Dateigröße beträgt 4 MB.
* **Unterstützte Dateitypen für Banner**: Die API akzeptiert derzeit die folgenden Dateiformate: PNG, JPEG und JPG.
* **Unterstützte Banner-X-Dateitypen**: Die API akzeptiert derzeit die folgenden Dateiformate: PNG, JPEG, JPG, SVG und GIF.
* **Unterstützte Dateitypen für Content-Standard-Display-Logos**: Die API akzeptiert derzeit die folgenden Dateiformate: JPEG, JPG und PNG.
* **Bildabmessung**: Bildabmessungen werden derzeit nicht anhand des Content-Standards des Händlers validiert. Stellen Sie sicher, dass sie den definierten Content-Standards entsprechen. Diese Erweiterung ist für zukünftige Releases geplant.
* **Verarbeitung mehrerer Dateien**: Wenn in einer einzelnen Anfrage mehrere Dateien übermittelt werden, wird nur die erste Datei verarbeitet, während die restlichen Dateien ignoriert werden.
* Banner\*\*: Für die `Campaign_File_Type_Banner_Image`ist die Angabe einer Platzierungs-ID und einer Content-Standard-ID obligatorisch.
* \*\*Banner X: Für die `Campaign_File_Type_Banner_X_Image`, Angeben `imageSlotType` ist obligatorisch.
  {% endhint %}

{% hint style="info" %}
URL für den Datei-Upload

Wenn Sie Ihre Werbemittel-Datei hochladen, stellen Sie sicher, dass Sie einen vollständigen absoluten Pfad zur Datei angeben. Wenn Sie Beispiel-Testcode aus der Dokumentation kopieren, um ihn in Ihrer Umgebung zu verwenden, stellen Sie sicher, dass Sie den Dateipfad vor dem Ausführen des Befehls aktualisieren. Zum Beispiel:

curl --request POST --url 'https\://\<your-url>.test.com/v3/campaign-file-upload?contentStandardId=test1\&imageSlotType=IMAGE\_SLOT\_TYPE\_UNSPECIFIED\&campaignFileType=CAMPAIGN\_FILE\_TYPE\_BANNER\_IMAGE' --header 'accept: application/json' --header 'Authorization: Bearer \<your-token>' --header 'content-type: multipart/form-data' --form "file=**@/Users/test/downloads/apple.png**"
{% endhint %}

## Upload a campaign file

> Use this endpoint to upload different types of campaign files. You can upload images for banners and banner X in jpeg, jpg, png, gif, PDF, or SVG formats. You may also upload content standard PDF files and content standard display logos. Ensure that logo files are in jpeg, jpg, or png format.&#x20;

```json
{"openapi":"3.0.0","info":{"title":"File Upload API","version":"a21"},"servers":[{"description":"Campaign server","url":"https://campaign.citrusad.com/v3"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"scheme":"bearer","type":"http"}},"schemas":{"campaignfileupload_body":{"properties":{"file":{"description":"The campaign file to upload, which can include an image, content standard display logo, or content standard PDF for banners and banner X. \n  - Supported image formats are jpeg, jpg, png, gif, PDF, and SVG. \n  - Display logos must be in jpeg, jpg, or png format.","format":"binary","type":"string"}},"required":["file"],"type":"object"},"v3UploadFileResponse":{"properties":{"fileId":{"description":"The unique identifier of the uploaded file.","type":"string"},"fileUrl":{"description":"The URL to access the file uploaded.","type":"string"}},"type":"object"},"rpcStatus":{"properties":{"code":{"type":"integer"},"details":{"items":{"type":"object"},"type":"array"},"message":{"type":"string"}},"type":"object"}}},"paths":{"/campaign-file-upload":{"post":{"description":"Use this endpoint to upload different types of campaign files. You can upload images for banners and banner X in jpeg, jpg, png, gif, PDF, or SVG formats. You may also upload content standard PDF files and content standard display logos. Ensure that logo files are in jpeg, jpg, or png format. ","operationId":"uploadFile","parameters":[{"description":"The unique identifier for the content standard, used to validate the image based on its metadata.","in":"query","name":"contentStandardId","required":false,"schema":{"type":"string"}},{"description":"Specifies the unique slot within the content standard where the image will be placed. It ensures the image adheres to predefined slot requirements and validations. Examples include left_ribbon, top_banner, or side_panel.","in":"query","name":"slotId","required":false,"schema":{"type":"string"}},{"description":"The unique identifier of the campaign's team.","in":"query","name":"teamId","required":true,"schema":{"type":"string"}},{"description":"The unique identifier for a retailer-managed campaign's team. As a retailer, you can upload campaign file for the supplier team by specifying the managerTeamId. Ensure that API requests are authenticated with the retailer's bearer token","in":"query","name":"managerTeamId","schema":{"type":"string"}},{"description":"Specifies the type of image slot, which determines the role and placement of the image within the campaign.","in":"query","name":"imageSlotType","required":false,"schema":{"enum":["IMAGE_SLOT_TYPE_PRIMARY_BACKGROUND","IMAGE_SLOT_TYPE_SECONDARY_BACKGROUND","IMAGE_SLOT_TYPE_PRIMARY_HERO","IMAGE_SLOT_TYPE_SECONDARY_HERO"],"type":"string"}},{"description":"Specifies the  campaign file type: Supported types include: -\n  - CAMPAIGN_FILE_TYPE_BANNER_IMAGE: Image for your banner campaign. -\n  - CAMPAIGN_FILE_TYPE_BANNER_X_IMAGE: Image for your banner X campaign. -\n  - CAMPAIGN_FILE_TYPE_BANNER_X_CONTENT_STANDARD_DISPLAY_LOGO: Display logo for your banner X content standard file. \n  - CAMPAIGN_FILE_TYPE_BANNER_CONTENT_STANDARD_DISPLAY_LOGO: Display logo for\nyour banner content standard file. -\n  - CAMPAIGN_FILE_TYPE_BANNER_X_CONTENT_STANDARD_PDF: Content standard PDF for\nyour banner X campaign. \n  - CAMPAIGN_FILE_TYPE_BANNER_CONTENT_STANDARD_PDF:\nContent standard PDF for your banner campaign. ","in":"query","name":"campaignFileType","required":true,"schema":{"enum":["CAMPAIGN_FILE_TYPE_BANNER_IMAGE","CAMPAIGN_FILE_TYPE_BANNER_X_IMAGE","CAMPAIGN_FILE_TYPE_BANNER_X_CONTENT_STANDARD_DISPLAY_LOGO","CAMPAIGN_FILE_TYPE_BANNER_X_CONTENT_STANDARD_PDF_FILE","CAMPAIGN_FILE_TYPE_BANNER_CONTENT_STANDARD_DISPLAY_LOGO","CAMPAIGN_FILE_TYPE_BANNER_CONTENT_STANDARD_PDF_FILE"],"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/campaignfileupload_body"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/v3UploadFileResponse"}}},"description":"File uploaded successfully"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpcStatus"}}},"description":"There was a problem with input."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpcStatus"}}},"description":"Invalid token error."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpcStatus"}}},"description":"Invalid token error."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpcStatus"}}},"description":"An unexpected error response."}},"summary":"Upload a campaign file"}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

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

```
GET https://help.citrusad.com/retail-media-interface/partner/de/campaign-management-api/creativeassets/uploadfile.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

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