Autenticação
Autentique cada solicitação da API Partner com uma chave de API da organização.
Cada solicitação carrega uma chave de API como um token bearer.
Autorização: Bearer mor_live_7f3c1a9e…Uma chave pertence à organização, e não à pessoa que a criou. Ela continua funcionando quando essa pessoa sai, e qualquer administrador da organização pode vê-la listada e revogá-la.
Criar uma chave
Abrir Configurações
No Morphic Studio, abra o menu suspenso da organização (o logotipo da Morphic, no canto superior esquerdo) e selecione Configurações.
Acesse Chaves de API
Na barra lateral esquerda, clique em Chaves de API. A aba é visível apenas para administradores.
Criar a chave
Clique em Nova chave, dê a ela um nome que você reconhecerá daqui a um mês, escolha seus escopos e — se ela não for durar para sempre — uma data de expiração.
Copiar o segredo
O segredo é exibido uma única vez. O Morphic armazena apenas um hash dele, então ele não pode ser exibido novamente. Coloque-o no seu gerenciador de segredos antes de fechar a caixa de diálogo.
Qualquer pessoa que tiver a chave pode iniciar execuções que consomem os créditos da sua organização. Trate-a como uma senha: nunca faça commit dela, nunca a coloque em um navegador, nunca a envie por e-mail ou chat.
Escopos
Uma chave contém apenas os escopos que você lhe concedeu. Uma solicitação fora deles é recusada com access_denied.
| Escopo | Permite |
|---|---|
workflows:read | ler um workflow e as entradas que ele recebe |
runs:write | iniciar execuções e registrar e remover endpoints de webhook |
runs:read | ler o status de uma execução e seus assets concluídos, e listar endpoints de webhook |
Uma chave também pode ser limitada a workflows específicos. Iniciar qualquer outra coisa é recusado, e uma execução de qualquer outra coisa retorna como não encontrada, o que é o que você quer para uma chave que vive em uma única integração.
Ambientes
O prefixo indica a qual implantação uma chave pertence, então uma chave vazada pode ser identificada de imediato. Uma chave apresentada à outra implantação é recusada.
| Prefixo | Ambiente | URL base |
|---|---|---|
mor_live_ | produção | https://api.morphic.com/v1/partner |
mor_test_ | staging, para trabalho de integração; as execuções lá são limitadas e os dados não são seus | https://api.morphic.today/v1/partner |
Limites de crédito
Toda chave tem um teto de créditos que pode gastar, definido pelo administrador que a criou:
| Limite | Definido? | Significado |
|---|---|---|
| Total | sempre | créditos que a chave pode gastar em toda a sua vida |
| Por dia | opcional | créditos por dia UTC |
| Por mês | opcional | créditos por mês UTC |
Um dia é um dia UTC e um mês é um mês-calendário UTC. Uma cobrança que levaria a chave além de um de seus limites é recusada com api_key_credit_limit_reached; o error_attributes.period indica qual limite (total, mensal ou diário). Essa é uma condição diferente de a organização ficar sem créditos (credits_exhausted), e isso é corrigido de forma diferente: um administrador aumenta o limite da chave no Studio em vez de recarregar a organização. Um início cuja chave não tenha mais espaço é recusado antes que qualquer coisa seja buscada.
Uma execução iniciada com uma chave continua sendo contabilizada nessa chave mesmo que alguém entre no chat no Studio e assuma o controle. Portanto, o orçamento restante da chave é o orçamento para toda a execução, não apenas para sua parte automatizada.
Rotação
Faça a rotação por sobreposição, nunca por lacuna: crie a nova chave, implante-a, confirme que o tráfego foi movido e então revogue a antiga. Uma organização pode ter até 10 chaves que podem autenticar ao mesmo tempo, o que dá espaço para rotação sem virar uma pilha que ninguém está desativando.
A revogação surte efeito em segundos. Execuções já em andamento são concluídas e ainda são cobradas.