Skip to content

Creates a new customer inside the institution.

Request

Creates a new customer. For LegalEntity accounts, only basic personal details and the company object are required here — legal person and beneficial ownership details are provided separately via the KYC endpoint (POST /customers/{customer-id}/kyc).

Body

Data.

salutationstring or null

Salutation such as "Herr", "Frau", "Mr.", "Ms.", etc.

Example:"Mr"
titlestring or null, [ 0 .. 64 ] characters

Title such as "Dr.", "Prof.", etc.

firstnamestring, [ 0 .. 64 ] charactersrequired

First name of the investor. When sending values with accents (e.g. É, ç, ñ), send the values in UTF-8 charset.

Example:"Karl"
lastnamestring, [ 0 .. 64 ] charactersrequired

Last name of the investor. When sending values with accents (e.g. É, ç, ñ), send the values in UTF-8 charset.

Example:"ell Test"
birthDatestring or null, (date-time)

Date of birth not required at customer creation, but necessary for the KYC process.

phoneNumberstring or null, (tel), [ 0 .. 64 ] characters

Phone number of the investor.

Example:"+49 555-5559555"
typestring, (int32)(AccountTypes)required
Enum:"Unknown""Person""LegalEntity"
Example:"LegalEntity"
streetstring, [ 1 .. 100 ] charactersrequired

The street name where the investor resides. When sending values with accents (e.g. É, ç, ñ), send the values in UTF-8 charset.

Example:"Ulander Weg"
streetNostring, [ 1 .. 100 ] charactersrequired

The street number where the investor resides.

Example:"12"
postalCodestring, [ 1 .. 100 ] charactersrequired

The postal code where the investor resides.

Example:"60433"
townstring, [ 1 .. 100 ] charactersrequired

The town in which the investor resides. When sending values with accents (e.g. É, ç, ñ), send the values in UTF-8 charset.

Example:"Frankfurt am Main"
countryIsostring, = 2 charactersrequired

The country ISO code in which the investor resides. Use ISO 3166-1 alpha-2 country codes.

Example:"DE"
companyobject(CustomerCompanyDetailDto)

Required for LegalEntity accounts. Note that company and tanganyLegalPerson contain some similar-looking fields, such as name and address, but serve different purposes: company holds the basic company record captured at customer creation, while tanganyLegalPerson holds the full legal-entity record — including beneficial ownership — required later during KYC.

Example:
{ "name": "CONCEDUS GmbH", "registerNumber": "HRB 45003", "fullAddress": "Ostendstr. 100, 90482 Nürnberg, DE", "email": "ml+inv7@concedus.com" }
nationalityIsostring or null

The nationality ISO of the investor. Use ISO 3166-1 alpha-2 country codes.

Example:"DE"
genderstring, (int32)(GenderTypes)
Enum:"NotSet""Male""Female""Other"
Example:"Male"
moneriumobject(MoneriumGanymedeDto)
custodyProviderstring, (int32)(CustodyProvider)

Identifies the custody provider. Send this as an integer, not a string. Use 1 for Tangany, the standard custody provider for new integrations.

Enum:"HADC""Tangany""TanganyExternal""Iris"
Example:1
emailstring, (email), [ 0 .. 64 ] charactersrequired

The email which the investor used to register. This must be unique and cannot be reused by other investors.

Example:"ml+in.74comp@company.com"
hadcCustomerIdstring or null, (uuid)
idstring or null, (uuid)

If not provided, it will be auto-generated.

curl -i -X POST \
  https://api.nyala.de/api/external/v1/customers \
  -H 'Content-Type: application/json' \
  -d '{
    "type": "LegalEntity",
    "firstname": "Karl",
    "lastname": "ell Test",
    "salutation": "Mr",
    "email": "ml+in.74comp@company.com",
    "phoneNumber": "+49 555-5559555",
    "street": "Ulander Weg",
    "streetNo": "12",
    "postalCode": "60433",
    "town": "Frankfurt am Main",
    "countryIso": "DE",
    "nationalityIso": "DE",
    "custodyProvider": 1,
    "gender": "Male",
    "company": {
      "name": "CONCEDUS GmbH",
      "registerNumber": "HRB 45003",
      "fullAddress": "Ostendstr. 100, 90482 Nürnberg, DE",
      "email": "ml+inv7@concedus.com"
    }
  }'

Responses

OK

Bodyapplication/json
errorMessageCodesArray of strings or nullread-only
errorsArray of objects or null(Error)read-only
datastring, (uuid)read-only
Response
{ "errorMessageCodes": [ "string" ], "errors": [ { … } ], "data": "808ac6e4-93ed-4040-85a5-6c71a2444e90" }