API कुंजियाँ
`keys.list`, `listAll`, `iterate`, `get`, `create`, `update`, `delete`, `rotate` और `revoke`, और अनुरोध लॉग व गतिविधि के रीडर।
हर method
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 और rotate ही ऐसी कॉल हैं जो सीक्रेट लौटाती हैं, token में, एक बार। हर रीड इसकी जगह maskedKey लौटाता है। update किसी कुंजी को enabled से बंद और चालू करता है, जो revoke का उलटा जा सकने वाला विकल्प है, और delete सिर्फ़ रद्द की गई कुंजी को हटाता है। पढ़ने के लिए keys:read और हर बदलाव के लिए keys:manage चाहिए।
कभी कॉल करने वाले से ज़्यादा व्यापक नहीं
कोई कुंजी कभी खुद से ज़्यादा व्यापक कुंजी नहीं बनाती और न उस तक पहुँचती है: स्कोप, भूमिका, समाप्ति, मोड और भेजने का दायरा, सब कॉल करने वाली कुंजी के भीतर रहने चाहिए, वरना कॉल 403 beyond_caller_authority के साथ ठुकराई जाती है। कुछ डोमेन या पतों तक सीमित कुंजी सिर्फ़ अपने भेजने के दायरे के भीतर की कुंजियाँ देखती है। कॉल करने वाली कुंजी पर rotate भी keys:write से होता है, me.rotate() की तरह।
दोबारा सत्यापन किसी कुंजी से की गई कॉल पर लागू नहीं हो सकता, इसलिए keys:manage ऐसा क्रेडेंशियल है जो क्रेडेंशियल बनाता है। इसे सिर्फ़ उस ऑटोमेशन को दें जो कुंजियाँ जारी करता है, उस कुंजी को एक भूमिका, भेजने का दायरा और समाप्ति दें, और listWorkspaceActivity पर नज़र रखें, जहाँ वह जो कुछ करती है उसी के नाम दर्ज होता है।
अनुरोध लॉग और गतिविधि
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 और listActivity एक कुंजी पढ़ते हैं, listWorkspaceRequests और listWorkspaceActivity हर कुंजी या वे जो keyIds में हैं, और हर एक के साथ एक listAll… और एक iterate… है। वे since और until लेते हैं, और अनुरोध रीडर failedOnly भी लेते हैं।