> 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/api-rest/identity-api/identity-api-reference/security-compliance/document-custody/get-custody-urls.md).

# Get Custody URLs

Servicio para obtener URLs pre-firmadas para la carga y descarga de un documento.

La URL de carga es válida por **5 minutos**, mientras que la URL de descarga es válida por **5 años**.

### Endpoint

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

### Headers

| Nombre        | Tipo   | Requerido | Descripción                        |
| ------------- | ------ | --------- | ---------------------------------- |
| **x-api-key** | string | **Sí**    | API key de autorización de acceso. |

### Respuestas

#### `200` Éxito

#### Parámetros de respuesta

| Parámetro     | Tipo   | Descripción                                                                                                             |
| ------------- | ------ | ----------------------------------------------------------------------------------------------------------------------- |
| `uploadUrl`   | string | URL pre-firmada para cargar el documento. Válida por **5 minutos**.                                                     |
| `downloadUrl` | string | URL pre-firmada para descargar el documento. Válida por **5 años**. Si se pierde, no será posible recuperar el archivo. |

#### Ejemplo de respuesta

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

#### `400` Bad Request

```json
{
  "status": 400,
  "title": "Bad Request",
  "detail": "Invalid request.",
  "type": "https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400",
  "errors": []
}
```

#### `401` Unauthorized

```json
{
  "message": "Unauthorized"
}
```

#### `403` Forbidden

```json
{
  "Message": "User is not authorized to access this resource with an explicit deny"
}
```

#### `502` Bad Gateway

```json
{
  "status": 502,
  "title": "Bad Gateway",
  "detail": "Server got an invalid response.",
  "type": "https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/502"
}
```

#### `504` Gateway Timeout

```json
{
  "message": "Endpoint request timed out"
}
```
