> For the complete documentation index, see [llms.txt](https://docs.certdox.com.br/gateway-de-registros/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.certdox.com.br/gateway-de-registros/reference/readme/upload-de-documentos.md).

# Upload de Documentos

A URL pré-assinada é gerada pelo endpoint [URL de Documento](/gateway-de-registros/reference/readme/url-de-documento.md) e contém informações como chave de acesso, timestamp de expiração e uma assinatura. Esses elementos garantem a autenticidade e a validade da requisição de upload.

Abaixo, apresentamos um exemplo de uma URL gerada pelo endpoint em questão":

```
https://s3.amazonaws.com/bucket/example.pdf?AWSAccessKeyId=YOUR_ACCESS_KEY&Expires=EXPIRATION_TIMESTAMP&Signature=SIGNATURE
```

Para fazer o upload de um arquivo usando PUT para a URL pré-assinada, você precisa utilizar um cliente HTTP, como o Python Requests, por exemplo. O exemplo fornecido demonstra como realizar essa operação usando o método PUT e a biblioteca Requests.

```python
import requests

# URL pré-assinada de exemplo
url = "https://s3.amazonaws.com/bucket/example.pdf?AWSAccessKeyId=YOUR_ACCESS_KEY&Expires=EXPIRATION_TIMESTAMP&Signature=SIGNATURE"

# Arquivo local a ser enviado
file_path = "/path/to/file.pdf"

# Fazendo o upload do arquivo
with open(file_path, "rb") as file:
    response = requests.put(url, data=file)

# Verificando a resposta
if response.status_code == 200:
    print("Arquivo enviado com sucesso!")
else:
    print("Erro ao enviar o arquivo:", response.text)

```

{% hint style="warning" %}
São aceitos somente arquivos PDF com tamanho máximo de 40mb.
{% endhint %}
