Beglaubigt.de API
Trade Registration
POST

Create Trade Registration

POST https://api.beglaubigt.de/v1/trade-registration

Authorization

Include an Authorization header with a Bearer token:

Authorization: Bearer <token>

Example: Bearer sk-123e4567-e89b-12d3-a456-426614174000

Request

Core

company_idstring

Assign the trade registration to a specific existing company. The company must not already have a trade registration; if it does, the request returns 409 COMPANY_ALREADY_REGISTERED. Omit it to have a new client company created and linked automatically.
Example: 9b2e4c7a-1d3f-4a8b-9c6e-2f5a7b8c1d0e

packagestringrequired

The service package.
Possible values: self or assisted

environmentstringdefault: production

Sets the created company's type: sandbox creates a staging company for testing, production creates a live company.
Possible values: sandbox or production

client_referencestring

A custom reference string for your own tracking.
Example: REF-2025-001

client_preferred_languagestringdefault: de

The language used when communicating with the client.
Possible values: en, fr, de, it or es

Registration

reasonstringrequired

Why the trade is being registered.
Possible values: new-foundation, takeover, reopening-after-relocation, legal-form-change, partner-entry or transformation-law

operational_activity_start_datestringrequired

The date the business begins operating. May be in the past, since a Gewerbe is often registered once trading has already started. Format: YYYY-MM-DD.
Example: 2030-12-01

establishment_typestringrequired

The kind of establishment being registered.
Possible values: main-office, branch-office, dependent-branch or travel-industry

acquisition_typestringrequired

Whether the trade is the owner's main or secondary occupation.
Possible values: main-occupation or secondary-occupation

Company

namestringrequired

The business name including the legal-form suffix where one applies. Max 120 characters.
Example: Musterbau GmbH

legal_formstringrequired

The legal form of the company.
Possible values: einzelunternehmen, ug, gmbh, gbr, einzelkaufmann-ek, gmbh-co-kg, kg, ohg, ug-co-kg, ggmbh, ag, kgaa or other

registration_numberstring

The number the business is entered under in a public register (Handelsregister, Genossenschaftsregister or Gesellschaftsregister). Omit it when the business is not registered. Max 30 characters.
Example: HRB 123456 B

business_typearrayrequired

The categories the activity falls into, at least one.
Possible values: industry, trade, craft or other

purposestringrequired

Description of the business activity. Max 200 characters. Like every free-text field, it has to be renderable on the GewA 1, so Latin characters only.
Example: Innenausbau und Trockenbauarbeiten

registered_officeobjectrequired

Address of the establishment. Only a fixed German establishment can file a GewA 1 (§ 14 GewO), so the address takes no country and the postal code must be a German 5-digit code.

business_addressobject

Business address for the client company. Only applies when a new company is created (omit company_id); it is rejected if sent together with company_id. Unlike registered_office, it can be outside Germany.

phonestringrequired

Phone number of the business. Digits, spaces and + ( ) . / - only, 6 to 32 characters.
Example: +4930123456

emailstringrequired

Email address of the business.
Example: kontakt@musterbau.de

Licenses & Public Sector

industrial_licenseobject

Details of the permit or licence the activity requires (Erlaubnispflicht). Omit it when the activity needs none.

has_public_sector_participationbooleanrequired

Whether a public-sector body holds a stake in the business.
Possible values: true or false

Employees

employeesobject

The employee counts. Omit it when the business has no employees; the GewA 1 asks for both counts, so both are required once it is sent.

Owners

ownersarrayrequired

Everyone registering the trade, 1 to 9 entries, in the order they should appear. Each owner signs their own GewA 1 and, on the assisted package, their own power of attorney.

Response

resultstring

Outcome of the request.
Possible values: success or error

messagestring

Human-readable outcome message.
Example: Trade registration created successfully.

company_idstring

UUID of the client company the case belongs to, created here when you omitted company_id.
Example: 9b2e4c7a-1d3f-4a8b-9c6e-2f5a7b8c1d0e

trade_registration_idstring

UUID of the trade registration case. Use it with the GET endpoint.
Example: 450506c1-d1a7-46e2-aca6-41a816805595

statusstring

The status the case landed in, driven by package.
Possible values: form-rendered or submitted

ownersarray

The owners as they were created, in the order you sent them, each with the documents they signed. A download link is valid for 24 hours.

client_referencestring

The custom reference string you provided.
Example: REF-2025-001

client_preferred_languagestring

The language used when communicating with the client.
Possible values: en, fr, de, it or es

timestampstring

ISO 8601 timestamp of the response.
Example: 2025-02-01T07:19:30.443Z

Example

Request
{
  "name": "Musterbau GmbH",
  "legal_form": "gmbh",
  "package": "assisted",
  "reason": "new-foundation",
  "establishment_type": "main-office",
  "acquisition_type": "main-occupation",
  "registration_number": "HRB 123456 B",
  "operational_activity_start_date": "2030-12-01",
  "business_type": ["craft", "trade"],
  "purpose": "Innenausbau und Trockenbauarbeiten",
  "phone": "+4930123456",
  "email": "kontakt@musterbau.de",
  "registered_office": {
    "street": "Friedrichstraße 176",
    "street_second_line": "Aufgang C",
    "zip": "10117",
    "city": "Berlin"
  },
  "business_address": {
    "street": "Torstraße 1",
    "street_second_line": "c/o Muster",
    "zip": "10119",
    "city": "Berlin",
    "state": "Berlin",
    "country": "de"
  },
  "industrial_license": {
    "issue_date": "2024-01-15",
    "issuing_authority": "Bezirksamt Mitte von Berlin",
    "zip": "10117",
    "location": "Berlin"
  },
  "has_public_sector_participation": false,
  "employees": {
    "full_time": "6-10",
    "part_time": "2"
  },
  "owners": [
    {
      "first_name": "Anna",
      "last_name": "Schmidt",
      "birth_name": "Weber",
      "dob": "1986-03-12",
      "place_of_birth": "Basel",
      "country_of_birth": "CH",
      "nationality": "CH",
      "gender": "female",
      "phone": "+4915100000001",
      "email": "anna.schmidt@beispiel.de",
      "signatures": {
        "gewa_1": "M 10 10 L 90 90 M 90 10 L 10 90",
        "power_of_attorney": "M 10 10 L 90 90 M 90 10 L 10 90"
      },
      "residence_permit": {
        "issue_date": "2023-02-01",
        "issuing_authority": "Ausländerbehörde Berlin"
      },
      "has_employment_restrictions": false,
      "address": {
        "street": "Kastanienallee 12",
        "street_second_line": "Hinterhaus",
        "zip": "10435",
        "city": "Berlin",
        "state": "Berlin",
        "country": "DE"
      }
    },
    {
      "first_name": "Jonas",
      "last_name": "Meier",
      "dob": "1984-02-11",
      "place_of_birth": "Bremen",
      "country_of_birth": "DE",
      "nationality": "DE",
      "gender": "male",
      "phone": "+4915100000004",
      "email": "jonas.meier@beispiel.de",
      "signatures": {
        "gewa_1": "M 20 20 L 80 80",
        "power_of_attorney": "M 20 20 L 80 80"
      }
    }
  ],
  "environment": "sandbox",
  "client_reference": "REF-2025-001",
  "client_preferred_language": "de"
}

The payload travels in the data field of a multipart/form-data request, with one part per attached form:

curl https://api.beglaubigt.de/v1/trade-registration \
  -H "Authorization: Bearer sk-123e4567-e89b-12d3-a456-426614174000" \
  -F 'data=<the payload below>' \
  -F 'gewa-anna-schmidt=@gewa-1-anna-schmidt.pdf;type=application/pdf' \
  -F 'gewa-jonas-meier=@gewa-1-jonas-meier.pdf;type=application/pdf'
Request
{
  "name": "Musterbau GmbH",
  "legal_form": "gmbh",
  "package": "assisted",
  "reason": "new-foundation",
  "establishment_type": "main-office",
  "acquisition_type": "main-occupation",
  "registration_number": "HRB 123456 B",
  "operational_activity_start_date": "2030-12-01",
  "business_type": ["craft", "trade"],
  "purpose": "Innenausbau und Trockenbauarbeiten",
  "phone": "+4930123456",
  "email": "kontakt@musterbau.de",
  "registered_office": {
    "street": "Friedrichstraße 176",
    "street_second_line": "Aufgang C",
    "zip": "10117",
    "city": "Berlin"
  },
  "business_address": {
    "street": "Torstraße 1",
    "street_second_line": "c/o Muster",
    "zip": "10119",
    "city": "Berlin",
    "state": "Berlin",
    "country": "de"
  },
  "industrial_license": {
    "issue_date": "2024-01-15",
    "issuing_authority": "Bezirksamt Mitte von Berlin",
    "zip": "10117",
    "location": "Berlin"
  },
  "has_public_sector_participation": false,
  "employees": {
    "full_time": "6-10",
    "part_time": "2"
  },
  "owners": [
    {
      "first_name": "Anna",
      "last_name": "Schmidt",
      "birth_name": "Weber",
      "dob": "1986-03-12",
      "place_of_birth": "Basel",
      "country_of_birth": "CH",
      "nationality": "CH",
      "gender": "female",
      "phone": "+4915100000001",
      "email": "anna.schmidt@beispiel.de",
      "documents": {
        "gewa_1": {
          "file": "gewa-anna-schmidt"
        }
      },
      "signatures": {
        "power_of_attorney": "M 10 10 L 90 90 M 90 10 L 10 90"
      },
      "residence_permit": {
        "issue_date": "2023-02-01",
        "issuing_authority": "Ausländerbehörde Berlin"
      },
      "has_employment_restrictions": false,
      "address": {
        "street": "Kastanienallee 12",
        "street_second_line": "Hinterhaus",
        "zip": "10435",
        "city": "Berlin",
        "state": "Berlin",
        "country": "DE"
      }
    },
    {
      "first_name": "Jonas",
      "last_name": "Meier",
      "dob": "1984-02-11",
      "place_of_birth": "Bremen",
      "country_of_birth": "DE",
      "nationality": "DE",
      "gender": "male",
      "phone": "+4915100000004",
      "email": "jonas.meier@beispiel.de",
      "documents": {
        "gewa_1": {
          "file": "gewa-jonas-meier"
        }
      },
      "signatures": {
        "power_of_attorney": "M 20 20 L 80 80"
      }
    }
  ],
  "environment": "sandbox",
  "client_reference": "REF-2025-001",
  "client_preferred_language": "de"
}
Response
{
  "response": {
    "result": "success",
    "message": "Trade registration created successfully.",
    "company_id": "9b2e4c7a-1d3f-4a8b-9c6e-2f5a7b8c1d0e",
    "trade_registration_id": "450506c1-d1a7-46e2-aca6-41a816805595",
    "status": "submitted",
    "owners": [
      {
        "first_name": "Anna",
        "last_name": "Schmidt",
        "documents": {
          "gewa_1": {
            "id": "baa38d14-c224-4894-823a-87536c5e45d4",
            "name": "GewA 1 - Gewerbe-Anmeldung (Anna Schmidt)",
            "download_url": "https://app.beglaubigt.de/download?bucket=company-documents&id=baa38d14-c224-4894-823a-87536c5e45d4&token=a1H...To5"
          },
          "power_of_attorney": {
            "id": "7c1f0f42-9a6d-4a1e-bb18-2f0f0a4d9c33",
            "name": "Vollmacht zur Einreichung (Anna Schmidt)",
            "download_url": "https://app.beglaubigt.de/download?bucket=company-documents&id=7c1f0f42-9a6d-4a1e-bb18-2f0f0a4d9c33&token=b2K...Qp9"
          }
        }
      },
      {
        "first_name": "Jonas",
        "last_name": "Meier",
        "documents": {
          "gewa_1": {
            "id": "1f9c7a55-3b64-4a20-9f0e-5c4a2d7b6e11",
            "name": "GewA 1 - Gewerbe-Anmeldung (Jonas Meier)",
            "download_url": "https://app.beglaubigt.de/download?bucket=company-documents&id=1f9c7a55-3b64-4a20-9f0e-5c4a2d7b6e11&token=c3L...Rt2"
          },
          "power_of_attorney": {
            "id": "9d2b8e07-4c15-4d33-8a72-6e1f0b3c9a48",
            "name": "Vollmacht zur Einreichung (Jonas Meier)",
            "download_url": "https://app.beglaubigt.de/download?bucket=company-documents&id=9d2b8e07-4c15-4d33-8a72-6e1f0b3c9a48&token=d4M...Su3"
          }
        }
      }
    ],
    "client_reference": "REF-2025-001",
    "client_preferred_language": "de",
    "timestamp": "2025-02-01T07:19:30.443Z"
  }
}

On this page