# API REST

RADIUSaaS expõe uma API REST que permite automatizar a maioria das ações que, de outra forma, teriam de ser executadas através da interface de utilizador do RADIUSaaS Admin Portal.

{% hint style="warning" %}
Antes de executar qualquer chamada de API que resulte numa alteração de configuração, certifique-se de que compreende totalmente as implicações. A utilização incorreta da API pode comprometer a configuração do seu serviço.
{% endhint %}

## Autenticação

Para autenticar uma chamada à API REST, preencha um cabeçalho HTTP `Authorization` com cada pedido. Este cabeçalho deve conter um [token de acesso](/pt/portal-de-administracao/settings/permissions.md#access-tokens):

```
Authorization: Bearer
               <Access Token>
```

## Referência da API

A documentação da API contém uma referência completa da API baseada em Swagger para cada endpoint da API, incluindo

* métodos HTTP disponíveis,
* códigos de resposta HTTP,
* esquemas JSON / dados de formulário para o pedido (corpos),
* esquemas JSON dos corpos de resposta, e
* exemplos de pedido-resposta para alguns endpoints.

{% hint style="info" %}
Não é possível acionar chamadas à API diretamente através da Referência da API.
{% endhint %}

<figure><img src="/files/bb62b1f49356fbcbaef82b4ab7625fa235751cf1" alt=""><figcaption></figcaption></figure>

## Cenários

### Gerir contas de nome de utilizador/palavra-passe para BYOD ou acesso de convidados

A API REST pode ser utilizada para automatizar a gestão de contas de nome de utilizador/palavra-passe para cenários de BYOD ou de acesso de convidados.&#x20;

Isto pode incluir o aprovisionamento automático de credenciais (WiFi) durante o registo de novos estudantes, inquilinos num espaço de coworking, ... bem como a desativação automática dessas contas.

Um exemplo de como utilizar a API REST para aprovisionar uma conta de nome de utilizador/palavra-passe pode ser encontrado na sua Referência da API, em **Utilizador** endpoints.

### Implementar monitorização externa

Para monitorizar a disponibilidade do serviço e o tempo de atividade da sua instância RADIUSaaS com um sistema externo, ou para monitorizar a expiração do certificado do seu servidor RADIUS, consulte o seguinte guia:

{% content-ref url="/pages/d6a48c5c07507c6bee22877a8312413c0616a035" %}
[Monitorização Externa](/pt/outro/rest-api/monitorizacao-externa.md)
{% endcontent-ref %}

## Exemplos de cURL

Em geral, existem dois tipos de conteúdo diferentes para a API REST: dados de formulário ou JSON. Pode descobrir qual o tipo de média necessário na documentação da API.&#x20;

Se não estiver familiarizado com a sintaxe do curl, pode encontrar dois exemplos aqui:

#### JSON

```bash
curl -X "METHOD" "https://YOURNAME.radius-as-a-service.com/api/ROUTE/PATH" \
    -H 'Authorization: Bearer ACCESS_TOKEN' \
    -H 'Content-Type: application/json' \
    -d $'{
            DADOS JSON NECESSÁRIOS. Consulte a documentação
        }'
```

#### Dados de formulário

```bash
curl -X "METHOD" "https://YOURNAME.radius-as-a-service.com/api/ROUTE/PATH" \
    -H 'Authorization: Bearer ACCESS_TOKEN' \
    -F 'KEY=VALUE'\
    -F 'KEY=VALUE'
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.radiusaas.com/pt/outro/rest-api.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
