문서로 건너뛰기
API

암호화

이 그룹의 모든 작업: 받는 값, 반환하는 값, 응답할 수 있는 오류.

작업

The OpenPGP public keys that let senders seal mail to an address, the directory the Encryption page of the app publishes to. Only public keys travel here: the private key stays on the device that made it, so nothing in this API can read sealed mail.

Published keys belong to a person. A key reads and publishes the keys of the workspace owner, and an app those of the person who connected it.

GET/encryption/keys

List your published keys

범위emails:read읽기

Every key published for an address in this workspace, newest first, retired ones included with revokedAt and revokedReason. Published keys belong to a person. A key reads and publishes the keys of the workspace owner, and an app those of the person who connected it. A key limited to particular addresses lists only the keys of those addresses.

Requires the emails:read scope.

반환값

The keys, newest first.

오류

모든 작업이 반환할 수 있는 오류400401403404422500오류 목록

다른 사용처

SDK
encryption.listKeys()
CLI
openemail encryption list-keys
MCP
listEncryptionKeys

POST/encryption/keys

Publish a public key for an address

범위emails:read데이터 변경
인증 코드 요청

Publishes an armored OpenPGP public key for one of your addresses, so that senders can seal mail to it, as Publish on the Encryption page does. The address has to be an address of this workspace on a verified domain, switched on, and one you may use.

An address keeps one live key. Publishing another while one is live is a 409 key_already_published; to rotate, send the fingerprint of the live key in replaces, and it is retired as the new one is published. Mail already sealed to the old key stays readable only with the old private key.

Published keys belong to a person. A key reads and publishes the keys of the workspace owner, and an app those of the person who connected it.

Requires the emails:read scope.

요청 본문

addressstring필수

The address the key is for.

최대 320자
publicKeystring필수

The armored OpenPGP PUBLIC KEY BLOCK, up to 64 KB.

64~65536자패턴^-----BEGIN PGP PUBLIC KEY BLOCK-----[\s\S]+-----END PGP PUBLIC KEY BLOCK-----\s*$
fingerprintstring필수

The fingerprint of the key, 40 upper-case hexadecimal characters.

패턴^[0-9A-F]{40}$
algorithmstring

The algorithm of the key, such as ed25519, for display only.

최대 32자
replacesstring

The fingerprint of the live key this one replaces, to rotate it.

패턴^[0-9A-F]{40}$

반환값

The key, now published.

오류

403

The key lacks the scope, or may not send as that address.

step_up_required: the call was made with an OAuth access token that has not been verified in the last 60 minutes. Ask for a code with POST /security/step-up, send it to POST /security/step-up/verify, then repeat the call. The person can also choose Allow changes for 60 minutes on the app in Account settings, Connected apps, on the OpenEmail website. An API key is never asked for a code.

409

key_already_published: the address has a live key and replaces was not given, or this key was published for it before. domain_not_verified: the domain of the address is not verified yet.

모든 작업이 반환할 수 있는 오류400401404422500오류 목록

다른 사용처

SDK
encryption.publishKey()
CLI
openemail encryption publish-key
MCP
publishEncryptionKey

GET/encryption/keys/lookup

Find the keys to seal mail to

범위emails:send읽기

The live public keys published for each address, the lookup the composer makes before it seals a message. An address with no key comes back with keys empty, so mail to it cannot be sealed. Only keys published by somebody who can read the address count, so a key a former member left behind is never offered.

Requires the emails:send scope.

쿼리 매개변수

addressesstring필수

Comma-separated recipient addresses, at most 51. A display name in angle brackets is read as its address.

반환값

One row per address asked about.

오류

모든 작업이 반환할 수 있는 오류400401403404422500오류 목록

다른 사용처

SDK
encryption.lookupKeys()
CLI
openemail encryption lookup-keys
MCP
lookupEncryptionKeys

객체

AddressKeysobject

objectstring필수
다음 중 하나"address_keys"
addressstring필수

The address as it was read, lower-cased.

keysobject[]필수
fingerprintstring필수
publicKeystring필수
createdAtstring필수
형식date-time

AddressKeysListobject

objectstring
다음 중 하나"list"

EncryptionKeyobject

objectstring필수
다음 중 하나"encryption_key"
idstring필수

pgpk_ and 24 hex.

addressstring필수
fingerprintstring필수

40 upper-case hexadecimal characters.

publicKeystring필수

The armored OpenPGP PUBLIC KEY BLOCK.

algorithmstring필수
createdAtstring필수
형식date-time
revokedAtstring필수

When it was retired. Null on the live key.

null 가능형식date-time
revokedReasonstring필수
null 가능

EncryptionKeyListobject

objectstring
다음 중 하나"list"