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

# Fazer upload de um arquivo de campanha - v4

{% hint style="info" %}
Diretrizes para upload de arquivos

* **Limite de tamanho de arquivo**: O tamanho máximo de arquivo suportado é 4 GB.
* **Tipos de arquivo de banner suportados**: A API aceita atualmente os seguintes formatos de arquivo: PNG, JPEG e JPG.
* **Tipos de arquivo de banner X suportados**: A API aceita atualmente os seguintes formatos de arquivo: PNG, JPEG, JPG, SVG e GIF.
* **Tipos de arquivo de logo de exibição padrão de conteúdo suportados**: A API aceita atualmente os seguintes formatos de arquivo: JPEG, JPG e PNG.
* **Dimensão da imagem**: As dimensões da imagem são atualmente validadas em relação ao padrão de conteúdo do varejista.
* **Manipulação de vários arquivos**: Se vários arquivos forem enviados em uma única requisição, apenas o primeiro arquivo será processado, enquanto os arquivos restantes serão ignorados.
* BannerX\*\*: Para `Campaign_File_Type_Banner_X_Image`é obrigatório fornecer um slot ID e content standard ID, slotType, imageType.
* Banner \*\*: Para `Campaign_File_Type_Banner_Image`é obrigatório fornecer slot ID, content standard ID, team ID.
* Brand Page\*\*: Para `Campaign_File_Type_Brand_Page_Image`é obrigatório fornecer a imagem da Brand Page. Os formatos suportados incluem PNG, JPEG, JPG, SVG e GIF.
  {% endhint %}

{% hint style="info" %}
URL de upload de arquivo

Ao fazer upload do arquivo do seu recurso de Criativo, certifique-se de fornecer um caminho absoluto completo para o arquivo. Se você estiver copiando um código de teste de exemplo da documentação para usar em seu ambiente, certifique-se de atualizar a localização do arquivo antes de executar o comando. Por exemplo:

curl --request POST --url 'https\://\<your-url>.test.com/v4/campaign-file-upload?contentStandardId=test1\&imageType=IMAGE\_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 - v4

> This endpoint allows uploading different types of campaign files including banners, banner X, and brand pages. It includes support for hero image display modes and background positioning controls. Accepted formats include JPEG, JPG, PNG, GIF, PDF, and SVG for banners, banner X, and brand page campaigns, along with standard PDF files for content. Display logos must be in JPEG, JPG, or PNG format.

```json
{"openapi":"3.0.0","info":{"title":"File Upload API","version":"a21"},"servers":[{"description":"Campaign server","url":"https://campaign.<env>.citrusad.com/v4"}],"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":"This endpoint allows uploading different types of campaign files including banners, banner X, and brand pages. It includes support for hero image display modes and background positioning controls. Accepted formats include JPEG, JPG, PNG, GIF, PDF, and SVG for banners, banner X, and brand page campaigns, along with standard PDF files for content. Display logos must be in JPEG, JPG, or PNG format.","operationId":"uploadFile","parameters":[{"description":"The template ID that determines the type of file that can be uploaded and where it will appear in the campaign. This configuration defines accepted file formats, size limits, and display requirements.","in":"query","name":"contentStandardId","schema":{"type":"string"}},{"description":"The specific location where the image will appear in the campaign template. Ensures the image adheres to predefined slot requirements and validations. Examples include left_ribbon, top_banner, or side_panel.","in":"query","name":"slotId","schema":{"type":"string"}},{"description":"Placement options for the image within the campaign include main background, secondary background, hero image, and more.","in":"query","name":"slotType","required":false,"schema":{"enum":["SLOT_TYPE_BANNER","IMAGE_TYPE_DOUBLE_TILE","IMAGE_TYPE_SINGLE_TILE"],"type":"string"}},{"description":"The unique identifier of the campaign team.","in":"query","name":"teamId","required":false,"schema":{"type":"string"}},{"description":"Manager team ID for the campaign. Applicable only to fixed tenancy campaigns.","in":"query","name":"managerTeamId","required":false,"schema":{"type":"string"}},{"description":"Placement options for the image within the campaign include main background, secondary background, hero image, and more.","in":"query","name":"imageType","required":false,"schema":{"enum":["IMAGE_TYPE_PRIMARY_BACKGROUND","IMAGE_TYPE_SECONDARY_BACKGROUND","IMAGE_TYPE_PRIMARY_HERO","IMAGE_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. \n  - CAMPAIGN_FILE_TYPE_BRAND_PAGE_IMAGE: Image for your BRAND PAGE 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","CAMPAIGN_FILE_TYPE_BRAND_PAGE_IMAGE"],"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":"Login failed or token not valid."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpcStatus"}}},"description":"Access denied due to insufficient permissions."},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/rpcStatus"}}},"description":"An unexpected error response."}},"summary":"Upload a campaign file - v4"}}}}
```


---

# 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/pt-br/campaign-management-api/creativeassets/uploadfile-2.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.
