> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gu1.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Obter mídia da validação KYC

> Baixe imagens do documento, retrato, vídeo de liveness e demais arquivos armazenados para uma validação KYC por sessão na API KYC da gu1.

## Resumo

Quando uma validação KYC por sessão termina (ex.: **approved**), referências a mídia aparecem em **`decision`** na resposta de `GET /api/kyc/validations/:id` (imagens do documento, retrato, vídeo de liveness, etc.).

**Formato usual:** cada referência é uma **chave `kyc/...`** (string de caminho). Para baixar os bytes, use o endpoint de mídia abaixo com sua API key.

**Formato de `decision`:** resultados aparecem como **objeto singular e array de um elemento** (ex.: `id_verification` e `id_verifications[0]`). O Gu1 mantém ambos sincronizados. Veja [Eventos webhook KYC](/pt/webhooks/events/kyc-events#objeto-decision-payloaddecision) para um exemplo completo.

**Validações antigas:** alguns registros ainda têm **URLs `https://...`** em `decision` (links temporários do fluxo de verificação). Use essas URLs diretamente (por exemplo em `<img>` ou fetch) **enquanto forem válidas**. **Não** use em `GET .../media?key=` — esse parâmetro é só para chaves `kyc/...`.

Esta página é para o KYC **completo** por sessão (`global_gueno_validation_kyc`). Face Match e ID Verification usam **outros** endpoints (barra lateral).

## Validações antigas (links HTTPS vs chaves `kyc/...`)

* **Nenhum dado é apagado:** o JSON continua válido; o que muda é se cada campo é URL ou chave `kyc/...`.
* **Chaves `kyc/...`:** use [`GET /api/kyc/validations/:id/media`](#solicitação) com `key` codificada na URL. O acesso fica limitado à sua organização e àquela validação.
* **Strings `https://`:** trate como URLs temporárias de arquivo até expirarem. A API pode substituí-las por chaves `kyc/...` numa **sincronização posterior** com o provedor de verificação (webhook ou sync), se o link ainda puder ser baixado.
* **Se o link já expirou** antes da migração, o campo pode ficar como URL inválida até uma nova sync trazer links novos ou o suporte Gu1 executar uma reparação interna de mídia para a sua organização.

## Solicitação

### Endpoint

```
GET https://api.gu1.ai/api/kyc/validations/{validationId}/media
```

### Headers

* **`Authorization`**: `Bearer SUA_API_KEY` (obrigatório)

### Query parameters

| Parâmetro | Obrigatório | Descrição                                                                                               |
| --------- | ----------- | ------------------------------------------------------------------------------------------------------- |
| `key`     | Sim         | A string de chave vinda de `decision`. **Codifique** na URL (`encodeURIComponent`; barras viram `%2F`). |

### Permissões

A API key precisa poder **ler KYC** (`kyc:read` com permissões granulares; caso contrário, aplica-se o papel do usuário dono da chave, com fallback legado onde couber—igual a `GET /api/kyc/validations/:id`).

### Resposta

Corpo bruto do arquivo. O **`Content-Type`** reflete o tipo (ex.: `image/jpeg`, `video/webm`).

## Exemplo

```bash theme={null}
curl -sS -o portrait.jpg \
  -H "Authorization: Bearer SUA_API_KEY" \
  "https://api.gu1.ai/api/kyc/validations/UUID_VALIDACAO/media?key=kyc%2Fglobal_gueno_validation_kyc%2F..."
```

No código da aplicação, use `encodeURIComponent(key)` na query.

<Warning>
  O parâmetro `key` **não** é segredo e **não** substitui autenticação. Envie sempre **`Authorization: Bearer`** válido; a API verifica se a chave do objeto pertence àquela validação e à sua organização.
</Warning>

## Relacionado

* [Criar validação KYC](/pt/use-cases/kyc/create-validation) — iniciar o fluxo e obter `validationId`
* [Consultar status da validação](/pt/use-cases/kyc/check-status) — polling até `decision` estar preenchido
