Optimaite

beA Electronic Mailbox

4 min readUpdated May 27, 2026Auch auf Deutsch verfuegbar

The beA (besonderer elektronischer Anwaltspostkasten) is a legally mandated electronic mailbox for German lawyers. This API lets you manage beA accounts, send and receive messages, search the beA directory, and handle session lifecycle programmatically.

beA is specific to the German legal system. German attorneys are legally required to use beA for official court and notary communications.

Endpoints

Account Management

MethodPathDescription
POST/api/v1/bea/accountsConnect a beA account (JSON credentials)
POST/api/v1/bea/accounts/uploadConnect beA account via .p12 certificate upload
POST/api/v1/bea/accounts/kanzleiConnect a BAG/Kanzlei postfach
GET/api/v1/bea/accountsList all beA accounts for the workspace
GET/api/v1/bea/accounts/{account_id}Get a beA account by ID
PATCH/api/v1/bea/accounts/{account_id}/eda-mahnStore PVKEZI/Ausbaugrad for EDA-Mahn
DELETE/api/v1/bea/accounts/{account_id}Disconnect a beA account

Session & Authentication

MethodPathDescription
POST/api/v1/bea/auth/loginLogin to a beA account
POST/api/v1/bea/auth/local-loginLogin via local beA card/software token
POST/api/v1/bea/auth/logout/{account_id}Logout from a beA account
GET/api/v1/bea/accounts/{account_id}/sessionGet current session status

Messages

MethodPathDescription
POST/api/v1/bea/accounts/{account_id}/syncTrigger manual message sync
GET/api/v1/bea/accounts/{account_id}/foldersGet folder structure
GET/api/v1/bea/messagesList beA messages
GET/api/v1/bea/messages/{message_id}Get a beA message
POST/api/v1/bea/messages/{message_id}/assignAssign message to party/case

Attachments

MethodPathDescription
GET/api/v1/bea/messages/{message_id}/attachmentsList message attachments
GET/api/v1/bea/messages/{message_id}/attachments/{id}/downloadDownload attachment

Drafts

MethodPathDescription
POST/api/v1/bea/draftsCreate a beA draft
GET/api/v1/bea/draftsList beA drafts
GET/api/v1/bea/drafts/{draft_id}Get a beA draft
PUT/api/v1/bea/drafts/{draft_id}Update a beA draft
DELETE/api/v1/bea/drafts/{draft_id}Delete a beA draft
POST/api/v1/bea/drafts/{draft_id}/sendSend a beA draft

Directory

MethodPathDescription
GET/api/v1/bea/directory/searchSearch beA directory for addressees

Permissions

MethodPathDescription
GET/api/v1/bea/accounts/{account_id}/administered-postboxesGet administered postboxes
GET/api/v1/bea/accounts/{account_id}/permissionsGet beA permissions
POST/api/v1/bea/permissionsAdd beA permissions
DELETE/api/v1/bea/permissionsRemove beA permissions

Required scope: bea:read for read endpoints, bea:write for send/draft operations, bea:admin for account management.

Connect a beA Account

POST /api/v1/bea/accounts
{
  "certificate_base64": "BASE64_ENCODED_P12",
  "passphrase": "certificate-passphrase",
  "label": "Dr. Mueller - Kanzlei Mayer"
}

Send a beA Message

The typical send flow is:

  1. Create a draft with the recipient, subject, body, and attachments
  2. Update the draft if needed (autosave)
  3. Send the draft -- this submits it to the beA network
POST /api/v1/bea/drafts
{
  "account_id": "bea_acc_01",
  "to": [
    {
      "name": "Rechtsanwalt Schmidt",
      "bea_id": "DE123456789012345"
    }
  ],
  "subject": "Mandatsbestaetigung",
  "body": "Sehr geehrter Herr Kollege...",
  "attachments": ["doc_01ABCDEF"]
}

Then send:

POST /api/v1/bea/drafts/{draft_id}/send

Search the beA Directory

GET /api/v1/bea/directory/search?q=Schmidt&city=Berlin

Returns matching beA-registered attorneys and notaries:

{
  "results": [
    {
      "bea_id": "DE123456789012345",
      "name": "Rechtsanwalt Dr. Hans Schmidt",
      "firm": "Schmidt & Partner",
      "city": "Berlin",
      "postfach_active": true
    }
  ]
}

Error Responses

StatusCodeMeaning
401BEA_NOT_AUTHENTICATEDbeA session expired or not logged in
403BEA_ACCOUNT_LOCKEDAccount is locked by BRAK
404BEA_ACCOUNT_NOT_FOUNDAccount ID does not exist
422BEA_CERTIFICATE_INVALIDCertificate is invalid or passphrase is wrong
502BEA_GATEWAY_ERRORUpstream beA/BRAK service unavailable

Next Steps

Was this helpful?