> 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/es/campaign-management-api/creativeassets/uploadfile.md).

# Cargar un archivo de campaña

Utiliza este endpoint para cargar diferentes tipos de archivos de campaña. Puedes cargar imágenes para banners y banner X en formatos jpeg, jpg, png, gif, PDF o SVG. También puedes cargar archivos PDF estándar de contenido y logotipos de display estándar de contenido. Asegúrate de que los archivos de logotipo estén en formato jpeg, jpg o png. **Nueva versión disponible**: [Cargar un archivo de campaña - v4](/retail-media-interface/partner/es/campaign-management-api/creativeassets/uploadfile-2.md) ya está disponible con funciones mejoradas.

{% hint style="info" %}
Pautas para la carga de archivos

* **Límite de tamaño de archivo**: El tamaño máximo de archivo admitido es de 4 MB.
* **Tipos de archivo de banner admitidos**: Actualmente la API acepta los siguientes formatos de archivo: PNG, JPEG y JPG.
* **Tipos de archivo de banner X admitidos**: Actualmente la API acepta los siguientes formatos de archivo: PNG, JPEG, JPG, SVG y GIF.
* **Tipos de archivo de logotipo de display estándar de contenido admitidos**: Actualmente la API acepta los siguientes formatos de archivo: JPEG, JPG y PNG.
* **Dimensión de la imagen**: Actualmente las dimensiones de la imagen no se validan con respecto al estándar de contenido del minorista. Asegúrate de que cumplan con los estándares de contenido definidos. Esta mejora está prevista para próximas versiones.
* **Gestión de archivos múltiples**: Si se envían varios archivos en una sola solicitud, solo se procesará el primer archivo, mientras que los archivos restantes se ignorarán.
* Banner\*\*: Para el `Campaign_File_Type_Banner_Image`, proporcionar un ID de espacio y un ID de estándar de contenido es obligatorio.
* \*\*Banner X: Para el `Campaign_File_Type_Banner_X_Image`, proporcionar `imageSlotType` es obligatorio.
  {% endhint %}

{% hint style="info" %}
URL de carga de archivos

Al cargar el archivo de tu archivo de creatividad, asegúrate de proporcionar una ruta absoluta completa al archivo. Si estás copiando un código de prueba de ejemplo de la documentación para usarlo en tu entorno, asegúrate de actualizar la ubicación del archivo antes de ejecutar el comando. Por ejemplo:

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/es/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.
