# Versioning Automated Testing Interface (v0.1.2)

Esta interface é fornecida por um USS (UAS Service Supplier) que deseja fornecer informações sobre a(s) versão(ões) do seu software para destinatários autorizados de maneira automatizada.

## Segurança (Autenticação)

- **Tipo:** OAuth2 (Client Credentials)
- **Escopo Necessário:** `interuss.versioning.read_system_versions`
- **Descrição:** Permite que o cliente leia a(s) versão(ões) do software do USS implantado neste ambiente. O token JWT deve ser enviado no header `Authorization: Bearer <token>`.

## Endpoints

### 1. Consultar Versão do Sistema (System Version)

**Rota:** `GET /versions/{system_identity}`

Obtém a versão do sistema solicitado com base em seu identificador de limite (system boundary).

- **Parâmetros de Rota:** `system_identity` (obrigatório) - Um identificador de limite de sistema conhecido tanto pelo cliente quanto pelo USS. O valor deve ser URL-safe (geralmente estruturado em ordem reversa de domínio, similar a pacotes Java). Exemplo: `gov.eu.uspace.v1.netid` ou `gov.au.casa.operating_rules.v2_6`.
- **Respostas Esperadas:**
    
    
    - **200 OK:** A interface forneceu com sucesso a versão do sistema/limite solicitado. Retorna o schema `GetVersionResponse`.
    - **401 Unauthorized:** Token ausente, não decodificado ou inválido.
    - **403 Forbidden:** O token foi decodificado com sucesso, mas não inclui o escopo apropriado para este endpoint.
    - **404 Not Found:** A identidade/limite do sistema solicitada não é conhecida, ou a interface de automação de versão não está disponível.

## Payload de Exemplo (JSON)

### Exemplo de Resposta de Versão (`GET /versions/{system_identity}`)

Formato esperado retornando a identidade do sistema solicitado e sua versão atual (preferencialmente utilizando controle de versão semântico).

<div _ngcontent-ng-c693768606="" class="code-block ng-tns-c693768606-113 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" data-hveid="0" data-ved="0CAAQhtANahgKEwiRnIvfm52VAxUAAAAAHQAAAAAQqwY" decode-data-ved="1" id="bkmrk-json" jslog="223238;track:impression,attention;BardVeMetadataKey:[["r_b0b9765cc592b208","c_c96b9eb05b5ddc8a",null,"rc_9061d0fb57a1f801",null,null,"pt",null,1,null,null,1,0]]"><div _ngcontent-ng-c693768606="" class="formatted-code-block-internal-container ng-tns-c693768606-113"><div _ngcontent-ng-c693768606="" class="animated-opacity ng-tns-c693768606-113"><div _ngcontent-ng-c693768606="" class="code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c693768606-113 ng-star-inserted"><span class="ng-tns-c693768606-113">JSON</span><div _ngcontent-ng-c693768606="" class="buttons ng-tns-c693768606-113 ng-star-inserted"><button aria-label="Baixar código" class="mdc-icon-button mat-mdc-icon-button mat-mdc-button-base mat-badge mat-unthemed mat-badge-overlap mat-badge-above mat-badge-after mat-badge-small mat-badge-hidden ng-star-inserted"></button><button aria-label="Copiar o código" class="mdc-icon-button mat-mdc-icon-button mat-mdc-button-base mat-badge mat-unthemed mat-badge-overlap mat-badge-above mat-badge-after mat-badge-small mat-badge-hidden ng-star-inserted"></button></div></div></div></div></div>```
{
  "system_identity": "gov.au.casa.operating_rules.v2_6",
  "system_version": "v2.19.53117-rc8+d3a7521f"
}
```