> For the complete documentation index, see [llms.txt](https://docs.facephi.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.facephi.com/docs.facephi-pt-br/api-rest/identity-api/identity-api-reference/security-compliance/document-custody/get-custody-urls.md).

# Obter URLs de custódia

Serviço para obter URLs pré-assinadas para o upload e download de um documento.

A URL de upload é válida por **5 minutos**, enquanto a URL de download é válida por **5 anos**.

### Endpoint

```
GET /services/custody/upload
```

### Cabeçalhos

| Nome          | Tipo   | Obrigatório | Descrição                         |
| ------------- | ------ | ----------- | --------------------------------- |
| **x-api-key** | string | **Sim**     | API Key de autorização de acesso. |

### Respostas

#### `200` Sucesso

#### Parâmetros de resposta

| Parâmetro     | Tipo   | Descrição                                                                                                                   |
| ------------- | ------ | --------------------------------------------------------------------------------------------------------------------------- |
| `uploadUrl`   | string | URL pré-assinada para carregar o documento. Válida por **5 minutos**.                                                       |
| `downloadUrl` | string | URL pré-assinada para baixar o documento. Válida por **5 anos**. Se ele for perdido, não será possível recuperar o arquivo. |

#### Exemplo de resposta

```json
{
  "uploadUrl": "https://storage.example.com/upload?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "downloadUrl": "https://api.identity-platform.io/custody/download?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}
```

#### `400` Solicitação inválida

```json
{
  "status": 400,
  "title": "Solicitação inválida",
  "detail": "Requisição inválida.",
  "type": "https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400",
  "errors": []
}
```

#### `401` Não autorizado

```json
{
  "message": "Não autorizado"
}
```

#### `403` Acesso negado

```json
{
  "Message": "O usuário não está autorizado a acessar este recurso com uma negação explícita"
}
```

#### `502` Gateway inválido

```json
{
  "status": 502,
  "title": "Gateway inválido",
  "detail": "O servidor recebeu uma resposta inválida.",
  "type": "https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/502"
}
```

#### `504` Gateway Timeout

```json
{
  "message": "A solicitação do Endpoint excedeu o tempo limite"
}
```
