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_idstringAssign 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
packagestringrequiredThe service package.
Possible values: self or assisted
environmentstringdefault: productionSets the created company's type: sandbox creates a staging company for testing, production
creates a live company.
Possible values: sandbox or production
client_referencestringA custom reference string for your own tracking.
Example: REF-2025-001
client_preferred_languagestringdefault: deThe language used when communicating with the client.
Possible values: en, fr, de, it or es
Registration
reasonstringrequiredWhy the trade is being registered.
Possible values: new-foundation, takeover, reopening-after-relocation,
legal-form-change, partner-entry or transformation-law
operational_activity_start_datestringrequiredThe 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_typestringrequiredThe kind of establishment being registered.
Possible values: main-office, branch-office, dependent-branch or travel-industry
acquisition_typestringrequiredWhether the trade is the owner's main or secondary occupation.
Possible values: main-occupation or secondary-occupation
Company
namestringrequiredThe business name including the legal-form suffix where one applies. Max 120 characters.
Example: Musterbau GmbH
legal_formstringrequiredThe 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_numberstringThe 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_typearrayrequiredThe categories the activity falls into, at least one.
Possible values: industry, trade, craft or other
purposestringrequiredDescription 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_officeobjectrequiredAddress 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.
streetstringrequiredStreet and house number. Max 72 characters.
Example: Friedrichstraße 176
street_second_linestringA second address line (c/o, entrance, floor, ...). Max 72 characters.
Example: Aufgang C
zipstringrequiredGerman 5-digit postal code.
Example: 10117
citystringrequiredCity. Max 72 characters, no digits.
Example: Berlin
business_addressobjectBusiness 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.
streetstringrequiredStreet and house number.
Example: Torstraße 1
zipstringrequiredPostal code.
Example: 10119
citystringrequiredCity.
Example: Berlin
countrystringrequiredCountry as an ISO 3166-1 alpha-2 code.
Example: de
street_second_linestringA second address line (c/o, suite, ...).
Example: c/o Muster
statestringState or region.
Example: Berlin
phonestringrequiredPhone number of the business. Digits, spaces and + ( ) . / - only, 6 to 32 characters.
Example: +4930123456
emailstringrequiredEmail address of the business.
Example: kontakt@musterbau.de
Licenses & Public Sector
industrial_licenseobjectDetails of the permit or licence the activity requires (Erlaubnispflicht). Omit it when the activity needs none.
issue_datestringrequiredDate the permit was issued. Must be in the past. Format: YYYY-MM-DD.
Example: 2024-01-15
issuing_authoritystringrequiredAuthority that issued the permit. Max 120 characters.
Example: Bezirksamt Mitte von Berlin
zipstringrequiredGerman 5-digit postal code of the issuing authority.
Example: 10117
locationstringrequiredCity of the issuing authority.
Example: Berlin
has_public_sector_participationbooleanrequiredWhether a public-sector body holds a stake in the business.
Possible values: true or false
Employees
employeesobjectThe 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.
full_timestringrequiredNumber of full-time employees, as a bracket.
Possible values: 0, 1, 2, 3, 4, 5, 6-10, 11-20, 21-50 or 50+
part_timestringrequiredNumber of part-time employees, as a bracket.
Possible values: 0, 1, 2, 3, 4, 5, 6-10, 11-20, 21-50 or 50+
Owners
ownersarrayrequiredEveryone 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.
first_namestringrequiredFirst name of the owner. Max 72 characters.
Example: Anna
last_namestringrequiredLast name of the owner. Max 72 characters.
Example: Schmidt
birth_namestringBirth name of the owner. Omit it when it is the same as last_name. Max 72 characters.
Example: Weber
dobstringrequiredDate of birth of the owner. Format: YYYY-MM-DD.
Example: 1986-03-12
place_of_birthstringrequiredCity of birth of the owner.
Example: Leipzig
country_of_birthstringrequiredCountry of birth of the owner, as an ISO 3166-1 alpha-2 code.
Example: DE
nationalitystringrequiredNationality of the owner, as an ISO 3166-1 alpha-2 code.
Example: DE
genderstringrequiredGender of the owner.
Possible values: male, female, diverse or no-information
phonestringrequiredPhone number of the owner. Digits, spaces and + ( ) . / - only, 6 to 32 characters.
Example: +4915100000001
emailstringrequiredEmail address of the owner.
Example: anna.schmidt@beispiel.de
signaturesobjectrequiredThis owner's signatures.
gewa_1stringrequiredSignature for this owner's GewA 1 form. Send either this or documents.gewa_1, never both:
a form you supply is signed already.
Example: M 10 10 L 90 90 M 90 10 L 10 90
power_of_attorneystringrequiredSignature for this owner's power of attorney (Vollmacht zur Einreichung). Required for the
assisted package, which files the registration on their behalf, and rejected for self.
Example: M 10 10 L 90 90 M 90 10 L 10 90
documentsobjectThis owner's own documents. Omit it to have everything generated for you.
gewa_1objectAttach this owner's already-signed GewA 1 instead of having one filled from the data you
send. Omit it, and send signatures.gewa_1 instead, to have it generated.
filestringrequiredThe name of the file part carrying the signed form. Send the request as
multipart/form-data, with the payload in a data field and the form in a part of
this name. It must be a PDF, at most 50 MB.
Example: gewa-anna-schmidt
residence_permitobjectDetails of this owner's residence permit. Omit it when they hold none.
issue_datestringrequiredDate the permit was issued. Must be in the past. Format: YYYY-MM-DD.
Example: 2023-02-01
issuing_authoritystringrequiredAuthority that issued the permit. Max 120 characters.
Example: Ausländerbehörde Berlin
has_employment_restrictionsbooleanrequiredWhether the residence permit restricts self-employment. Required when this owner's
residence_permit is sent, and rejected when it is not.
Possible values: true or false
addressobjectThis owner's residential address. Omit it when they live at the establishment. They may live abroad; the country decides the postal-code rule.
streetstringrequiredStreet and house number. Max 72 characters.
Example: Kastanienallee 12
street_second_linestringA second address line. Max 72 characters.
Example: Hinterhaus
zipstringrequiredPostal code. Must be a German 5-digit code when country is DE. Max 12 characters.
Example: 10435
citystringrequiredCity. Max 72 characters, no digits.
Example: Berlin
statestringState or region. Max 72 characters.
Example: Berlin
countrystringrequiredCountry as an ISO 3166-1 alpha-2 code.
Example: CH
Response
resultstringOutcome of the request.
Possible values: success or error
messagestringHuman-readable outcome message.
Example: Trade registration created successfully.
company_idstringUUID of the client company the case belongs to, created here when you omitted company_id.
Example: 9b2e4c7a-1d3f-4a8b-9c6e-2f5a7b8c1d0e
trade_registration_idstringUUID of the trade registration case. Use it with the GET endpoint.
Example: 450506c1-d1a7-46e2-aca6-41a816805595
statusstringThe status the case landed in, driven by package.
Possible values: form-rendered or submitted
ownersarrayThe 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.
first_namestringFirst name, echoed back so the entry can be matched to the one you sent.
Example: Anna
last_namestringLast name.
Example: Schmidt
documentsobjectThis owner's documents. A key is absent when that document could not be generated.
gewa_1objectThe GewA 1 (Gewerbeanmeldung): filled from your data and carrying this owner's signature,
or the form you supplied in documents.gewa_1.
power_of_attorneyobjectThe signed Vollmacht zur Einreichung. Present for the assisted package only, which is the
one that files the registration on the owners' behalf.
idstringThe unique identifier of the document in UUID format.
Example: baa38d14-c224-4894-823a-87536c5e45d4
namestringDisplay name of the document, suffixed with the owner it belongs to.
Example: GewA 1 - Gewerbe-Anmeldung (Anna Schmidt)
download_urlstringA signed URL to download the document as a PDF.
Example: https://app.beglaubigt.de/download?bucket=company-documents&id=baa38d14-c224-4894-823a-87536c5e45d4&token=a1H...To5
client_referencestringThe custom reference string you provided.
Example: REF-2025-001
client_preferred_languagestringThe language used when communicating with the client.
Possible values: en, fr, de, it or es
timestampstringISO 8601 timestamp of the response.
Example: 2025-02-01T07:19:30.443Z
Example
{
"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'{
"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": {
"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"
}
}