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

# Autenticação

> Crie uma chave de API e autentique os seus pedidos.

> [!NOTE]
>
> A API do GetQR está em versão beta e só está disponível para alguns espaços de trabalho. Os detalhes podem mudar antes do lançamento geral.

A API do GetQR autentica cada pedido com a chave de API da sua conta. Cada utilizador tem uma chave, que age em seu nome num espaço de trabalho.

## Antes de começar

* É o dono do espaço de trabalho ou um editor. Os visualizadores não podem criar nem utilizar uma chave de API.
* O dono do espaço de trabalho tem uma subscrição ativa.

## Criar a sua chave de API

**1. Abra as definições da conta**

Abra as definições da sua conta e aceda a **API**.

**2. Gere a chave**

Clique em **Generate API key**.

**3. Copie a chave**

Mostre a chave e copie-a. As chaves começam por `sk_live_`.

Pode voltar a mostrar e copiar a chave em qualquer altura. As definições também indicam quando a chave foi criada e quando foi utilizada pela última vez.

## Autenticar pedidos

Envie a chave como token Bearer no cabeçalho `Authorization` de todos os pedidos:

```bash theme={null}
curl "https://getqr.com/api/v1/qrs" \
  -H "Authorization: Bearer sk_live_..."
```

| Problema | Resposta |
| - | - |
| Não existe cabeçalho `Authorization` | `401 unauthorized`: "Missing Authorization header." |
| O cabeçalho não começa por `Bearer ` | `400 bad_request`: "Misconfigured authorization header. Did you forget to add 'Bearer '?" |
| Chave desconhecida ou regenerada | `401 unauthorized`: "Unauthorized: Invalid API key." |
| A sua função é visualizador | `403 forbidden`: "API access is not available for this role." |
| A subscrição do dono do espaço de trabalho não está ativa | `403 forbidden`: "Access denied: This account does not have an active subscription." |
| A API não está ativada para o seu espaço de trabalho | `404 not_found`: "This endpoint is not available." |

A [verificação de estado](https://docs.getqr.com/pt/api/endpoints/health.md) é o único endpoint que funciona sem chave.

## Acesso e funções

* **Funções.** Só o dono do espaço de trabalho e os editores podem criar e utilizar uma chave de API. Os visualizadores não podem.
* **Espaço de trabalho.** Cada chave pertence a um único espaço de trabalho e todos os pedidos são executados nesse espaço. Não é necessário indicar o ID do espaço de trabalho.
* **Verificação contínua.** O acesso é verificado em cada pedido com base na sua função atual e na subscrição do dono do espaço de trabalho. A sua própria subscrição não conta. Se a sua função passar a visualizador ou a subscrição do dono terminar, os pedidos devolvem `403` até o acesso ser restabelecido. Não precisa de uma nova chave.
* **Remoção.** Se for removido do espaço de trabalho, a sua chave de API é eliminada. Se for adicionado novamente, gere uma nova chave.

## Regenerar a sua chave

Regenere a chave se esta for divulgada ou se alguém que não a deveria ter obtiver acesso.

> [!WARNING]
>
> A sua chave atual deixa de funcionar de imediato. Qualquer aplicação ou integração que a utilize deixa de funcionar até a atualizar com a nova chave.

**1. Clique em Regenerate**

Nas definições da sua conta, aceda a **API** e clique em **Regenerate**.

**2. Confirme**

Clique em **Regenerate key**.

**3. Atualize as suas aplicações**

Copie a nova chave e substitua a antiga em todos os locais onde a utiliza.

## Proteger a sua chave

Trate a chave como uma palavra-passe: qualquer pessoa que a tenha pode criar, alterar e eliminar códigos QR no seu espaço de trabalho.

* Guarde-a numa variável de ambiente ou num gestor de segredos, não no código-fonte.
* Chame a API apenas a partir do seu servidor. Nunca coloque a chave num site, numa aplicação móvel ou em qualquer outro local que os utilizadores possam inspecionar.
* Partilhe-a apenas com os programadores que precisam dela.
* Regenere-a assim que suspeitar que foi divulgada.

## Problemas comuns

> [accordion] Recebo 401 com uma chave que antes funcionava
>
> A chave foi regenerada, ou foi removido do espaço de trabalho e a chave foi eliminada. Copie a chave atual nas definições da conta ou gere uma nova.

> [accordion] Recebo 403 em todos os pedidos
>
> Verifique se a sua função é dono ou editor e se a subscrição do dono do espaço de trabalho está ativa. A chave volta a funcionar assim que o acesso for restabelecido.

> [accordion] Recebo 404 "This endpoint is not available."
>
> A API está em versão beta e ainda não está ativada para o seu espaço de trabalho.

> [accordion] Não vejo as definições da API
>
> Só aparecem para o dono do espaço de trabalho e os editores, e apenas nos espaços de trabalho com a API ativada.

## Próximos passos

> [card] [Introdução à API](https://docs.getqr.com/pt/api/introduction.md)

> [card] [Erros](https://docs.getqr.com/pt/api/errors.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.