Chaves de API
`keys.list`, `listAll`, `iterate`, `get`, `create`, `update`, `delete`, `rotate` e `revoke`, e os leitores do registo de pedidos e da atividade.
Todos os métodos
const key = await openemail.keys.create({ name: 'Billing sender', scopes: ['emails:send'], domainAllowlist: ['billing.acme.com'], expiresInMinutes: 60 * 24 * 90,}) await store(key.token) await openemail.keys.update(key.id, { enabled: false })const rotated = await openemail.keys.rotate(key.id)await openemail.keys.revoke(key.id, { reason: 'Replaced' })await openemail.keys.delete(key.id)create e rotate são as únicas chamadas que devolvem um segredo, em token, uma vez. Cada leitura devolve maskedKey em vez disso. update desativa e ativa uma chave com enabled, a alternativa reversível a revoke, e delete só remove uma chave já revogada. Ler precisa de keys:read e cada alteração de keys:manage.
Nunca mais ampla do que quem chama
Uma chave nunca cria nem alcança uma chave mais ampla do que ela própria: âmbitos, função, expiração, modo e âmbito de envio têm todos de ficar dentro da chave que chama, ou a chamada é recusada com 403 beyond_caller_authority. Uma chave restrita a alguns domínios ou endereços só vê as chaves dentro do seu próprio âmbito de envio. rotate sobre a chave que chama também funciona com keys:write, como me.rotate().
A verificação adicional não se pode aplicar a uma chamada feita com uma chave, por isso keys:manage é uma credencial que cria credenciais. Dê-a apenas a uma automação que emite chaves, dê a essa chave uma função, um âmbito de envio e uma expiração, e acompanhe listWorkspaceActivity, onde tudo o que ela faz fica registado em seu nome.
Registo de pedidos e atividade
const failures = await openemail.keys.listRequests('4c1b257a66287fd113bd89d0', { failedOnly: true, since: new Date(Date.now() - 24 * 60 * 60 * 1000),}) for await (const change of openemail.keys.iterateWorkspaceActivity()) { console.log(change.keyName, change.type, change.actor?.label)}listRequests e listActivity leem uma chave, listWorkspaceRequests e listWorkspaceActivity leem todas as chaves ou as que keyIds nomeia, e cada uma tem um listAll… e um iterate… ao lado. Aceitam since e until, e os leitores de pedidos aceitam também failedOnly.