Das beA (besonderer elektronischer Anwaltspostkasten) ist ein gesetzlich vorgeschriebenes elektronisches Postfach für deutsche Rechtsanwälte. Diese API ermöglicht die programmatische Verwaltung von beA-Konten, das Senden und Empfangen von Nachrichten, die Suche im beA-Verzeichnis und den Session-Lifecycle.
beA ist spezifisch für das deutsche Rechtssystem. Deutsche Rechtsanwälte sind gesetzlich verpflichtet, beA für offizielle Gerichts- und Notarkommunikation zu nutzen.
Endpunkte
Kontoverwaltung
| Method | Path | Beschreibung |
|---|
POST | /api/v1/bea/accounts | beA-Konto verbinden (JSON-Credentials) |
POST | /api/v1/bea/accounts/upload | beA-Konto per .p12-Zertifikat-Upload verbinden |
POST | /api/v1/bea/accounts/kanzlei | BAG/Kanzlei-Postfach verbinden |
GET | /api/v1/bea/accounts | Alle beA-Konten des Workspace auflisten |
GET | /api/v1/bea/accounts/{account_id} | beA-Konto per ID abrufen |
PATCH | /api/v1/bea/accounts/{account_id}/eda-mahn | PVKEZI/Ausbaugrad für EDA-Mahn speichern |
DELETE | /api/v1/bea/accounts/{account_id} | beA-Konto trennen |
Session & Authentifizierung
| Method | Path | Beschreibung |
|---|
POST | /api/v1/bea/auth/login | Bei beA-Konto anmelden |
POST | /api/v1/bea/auth/local-login | Anmeldung über lokale beA-Karte/Software-Token |
POST | /api/v1/bea/auth/logout/{account_id} | Von beA-Konto abmelden |
GET | /api/v1/bea/accounts/{account_id}/session | Aktuellen Session-Status abrufen |
Nachrichten
| Method | Path | Beschreibung |
|---|
POST | /api/v1/bea/accounts/{account_id}/sync | Manuelle Nachrichtensynchronisation auslösen |
GET | /api/v1/bea/accounts/{account_id}/folders | Ordnerstruktur abrufen |
GET | /api/v1/bea/messages | beA-Nachrichten auflisten |
GET | /api/v1/bea/messages/{message_id} | beA-Nachricht abrufen |
POST | /api/v1/bea/messages/{message_id}/assign | Nachricht Partei/Akte zuweisen |
Anhänge
| Method | Path | Beschreibung |
|---|
GET | /api/v1/bea/messages/{message_id}/attachments | Nachrichtenanhänge auflisten |
GET | /api/v1/bea/messages/{message_id}/attachments/{id}/download | Anhang herunterladen |
Entwürfe
| Method | Path | Beschreibung |
|---|
POST | /api/v1/bea/drafts | beA-Entwurf erstellen |
GET | /api/v1/bea/drafts | beA-Entwürfe auflisten |
GET | /api/v1/bea/drafts/{draft_id} | beA-Entwurf abrufen |
PUT | /api/v1/bea/drafts/{draft_id} | beA-Entwurf aktualisieren |
DELETE | /api/v1/bea/drafts/{draft_id} | beA-Entwurf löschen |
POST | /api/v1/bea/drafts/{draft_id}/send | beA-Entwurf senden |
Verzeichnis
| Method | Path | Beschreibung |
|---|
GET | /api/v1/bea/directory/search | beA-Verzeichnis nach Empfängern durchsuchen |
Berechtigungen
| Method | Path | Beschreibung |
|---|
GET | /api/v1/bea/accounts/{account_id}/administered-postboxes | Verwaltete Postfächer abrufen |
GET | /api/v1/bea/accounts/{account_id}/permissions | beA-Berechtigungen abrufen |
POST | /api/v1/bea/permissions | beA-Berechtigungen hinzufügen |
DELETE | /api/v1/bea/permissions | beA-Berechtigungen entfernen |
Erforderlicher Scope: bea:read für Lese-Endpunkte, bea:write für Senden/Entwürfe, bea:admin für Kontoverwaltung.
beA-Konto verbinden
POST /api/v1/bea/accounts
{
"certificate_base64": "BASE64_ENCODED_P12",
"passphrase": "certificate-passphrase",
"label": "Dr. Mueller - Kanzlei Mayer"
}
beA-Nachricht senden
Der typische Sendeablauf:
- Entwurf erstellen mit Empfänger, Betreff, Body und Anhängen
- Entwurf aktualisieren bei Bedarf (Autosave)
- Entwurf senden -- Übergabe an das beA-Netzwerk
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"]
}
Dann senden:
POST /api/v1/bea/drafts/{draft_id}/send
beA-Verzeichnis durchsuchen
GET /api/v1/bea/directory/search?q=Schmidt&city=Berlin
Liefert passende im beA registrierte Anwälte und Notare:
{
"results": [
{
"bea_id": "DE123456789012345",
"name": "Rechtsanwalt Dr. Hans Schmidt",
"firm": "Schmidt & Partner",
"city": "Berlin",
"postfach_active": true
}
]
}
Fehlerantworten
| Status | Code | Bedeutung |
|---|
| 401 | BEA_NOT_AUTHENTICATED | beA-Session abgelaufen oder nicht angemeldet |
| 403 | BEA_ACCOUNT_LOCKED | Konto von BRAK gesperrt |
| 404 | BEA_ACCOUNT_NOT_FOUND | Konten-ID existiert nicht |
| 422 | BEA_CERTIFICATE_INVALID | Zertifikat ungültig oder Passphrase falsch |
| 502 | BEA_GATEWAY_ERROR | Upstream beA/BRAK-Dienst nicht verfügbar |
Nächste Schritte