Skip to content

Saving KYC data for custodying customer wallets.

Request

Submits KYC data for a customer. For LegalEntity accounts, this is where the legal person details — including the list of beneficial owners — are provided. Document requirements vary depending on the verification method used; see TanganyCustomerKycDocumentDto.

Path
customer-idstring, (uuid)required

Customer id.

Body

Data.

titlestring or null, [ 0 .. 64 ] characters

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

salutationstring or null

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

firstnamestring, [ 0 .. 64 ] charactersrequired

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

lastnamestring, [ 0 .. 64 ] charactersrequired

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

placeOfBirthstring, [ 0 .. 100 ] charactersrequired

Place of birth denoted in the used identification document of the investor.

dateOfBirthstring, (date-time)required

Date of birth is a regulatory requirement for the KYC process.

emailstring, (email), [ 0 .. 64 ] charactersrequired

The email which the investor used to register. You can re-use the same input as from customer creation.

phoneNumberstring or null

Phone number of the investor.

taxIdstring or null

TaxID of the investor.

nonPepPersonbooleanrequired

Relates to the political exposure of the person. Indicates whether the person is NOT a Politically Exposed Person (PEP).

highCorruptionIndexbooleanrequired

Relates to the country of residence. You can always send "false" if your KYC provider performs these checks automatically.

nonSanctionedCountrybooleanrequired

Indicates the investor is NOT residing in a sanctioned country. You can always send "true" if your KYC provider performs these checks automatically.

nonUsTaxPersonbooleanrequired

We do not accept persons subjected to US tax. Always set to "true" (if the person is not subject to taxes in the USA).

identVerifiedbooleanrequired

Only send KYC data of customers that have been verified already. Hence, always set this field to "true".

identVerifiedTypestring, (int32)(IdentVerifiedType)

Possible values are NotSet, Normal, and Plain.

Enum:"NotSet""Normal""Plain"
tanganyIdentVerifiedTypestring, (int32)(TanganyIdentVerifiedType)
Enum:"Video_ident""Id_copy""Auto_ident""In_person""Eid""Post_ident""Qes_bankident"
eulaAgreedbooleanrequired

Refers to the Smart Registry terms of use. Ensure that your end users always have to agree to the terms as part of their onboarding process, then always set to "true".

addressobject(KycAddressDto)required
companyobject(CustomerCompanyDetailDto)

Only required when the account type is LegalEntity.

nationalityIsostring or null

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

genderstring, (int32)(GenderTypes)
Enum:"NotSet""Male""Female""Other"
tanganyLegalPersonobject(TanganyLegalPersonDto)
Example:
{ "id": "df782bc3-b8d0-4e75-a567-0ae8db8505f7", "name": "Company GmbH", "legalForm": "GmbH", "commercialRegister": "Amtsgericht Nürnberg", "taxId": "12345678911", "legalJurisdiction": "DE", "legalAddress": { "country": "DE", "city": "Nürnberg", "postcode": "90482", "streetName": "Ostendstr.", "streetNumber": "100" }, "postalAddress": { "country": "DE", "city": "Nürnberg", "postcode": "90482", "streetName": "Ostendstr.", "streetNumber": "100" }, "kyc": { "businessDescription": "Investor", "isCreAvailable": false }, "related": [ { … } ] }
custodyProviderstring, (int32)(CustodyProvider)

Identifies the custody provider for an account. Sent as an integer: HADC = 0, Tangany = 1, TanganyExternal = 2, Iris = 3. Use 1 (Tangany) for new integrations.

Enum:"HADC""Tangany""TanganyExternal""Iris"
documentobject(TanganyCustomerKycDocumentDto)

The document which was used for verification. Required for all verification methods except in_person. If the verification method used is Qes_bankident, the iban and reference fields must also be set.

moneriumobject(MoneriumGanymedeDto)
curl -i -X POST \
  'https://api.nyala.de/api/external/v1/customers/{customer-id}/kyc' \
  -H 'Content-Type: application/json' \
  -d '{
    "title": "string",
    "salutation": "string",
    "firstname": "string",
    "lastname": "string",
    "placeOfBirth": "string",
    "dateOfBirth": "2019-08-24T14:15:22Z",
    "email": "user@example.com",
    "phoneNumber": "string",
    "taxId": "string",
    "nonPepPerson": true,
    "highCorruptionIndex": true,
    "nonSanctionedCountry": true,
    "nonUsTaxPerson": true,
    "identVerified": true,
    "identVerifiedType": "NotSet",
    "tanganyIdentVerifiedType": "Video_ident",
    "eulaAgreed": true,
    "address": {
      "street": "string",
      "streetNo": "string",
      "postalCode": "string",
      "town": "string",
      "countryCodeIso2": "st"
    },
    "company": {
      "name": "string",
      "registerNumber": "string",
      "fullAddress": "string",
      "email": "user@example.com"
    },
    "nationalityIso": "string",
    "gender": "NotSet",
    "tanganyLegalPerson": {
      "id": "df782bc3-b8d0-4e75-a567-0ae8db8505f7",
      "name": "Company GmbH",
      "legalForm": "GmbH",
      "commercialRegister": "Amtsgericht Nürnberg",
      "taxId": "12345678911",
      "legalJurisdiction": "DE",
      "legalAddress": {
        "country": "DE",
        "city": "Nürnberg",
        "postcode": "90482",
        "streetName": "Ostendstr.",
        "streetNumber": "100"
      },
      "postalAddress": {
        "country": "DE",
        "city": "Nürnberg",
        "postcode": "90482",
        "streetName": "Ostendstr.",
        "streetNumber": "100"
      },
      "kyc": {
        "businessDescription": "Investor",
        "isCreAvailable": false
      },
      "related": [
        {
          "entityId": "2975ecfa-60e1-4b1f-b5e0-ba26926e8217",
          "position": "CEO",
          "isFictitiousBeneficialOwner": false,
          "isUltimateBeneficialOwner": true,
          "sharePercentage": "60"
        }
      ]
    },
    "custodyProvider": "HADC",
    "document": {
      "nationality": "st",
      "country": "st",
      "number": "string",
      "issuedBy": "string",
      "issueDate": "2019-08-24",
      "validUntil": "2019-08-24",
      "type": "Id_card",
      "iban": "string",
      "reference": "string"
    },
    "monerium": {
      "profileDocument": {
        "number": "string",
        "kind": "passport"
      },
      "corporate": {
        "name": "string",
        "registrationNumber": "string",
        "representatives": [
          {
            "firstname": "string",
            "lastname": "string",
            "country": "string",
            "nationality": "string",
            "birthDay": "2019-08-24",
            "address": "string",
            "postalCode": "string",
            "city": "string",
            "countryState": "string",
            "idDocument": {
              "number": "string",
              "kind": "passport"
            }
          }
        ],
        "finalBeneficiaries": [
          {
            "firstname": "string",
            "lastname": "string",
            "country": "string",
            "nationality": "string",
            "birthDay": "2019-08-24",
            "ownershipPercentage": "string"
          }
        ],
        "directors": [
          {
            "firstname": "string",
            "lastname": "string",
            "country": "string",
            "nationality": "string",
            "birthDay": "2019-08-24"
          }
        ],
        "address": "string",
        "postalCode": "string",
        "city": "string",
        "country": "string",
        "countryState": "string"
      }
    }
  }'

Responses

OK

Bodyapplication/json
errorMessageCodesArray of strings or nullread-only
errorsArray of objects or null(Error)read-only
databooleanread-only
Response
{ "errorMessageCodes": [ "string" ], "errors": [ { … } ], "data": true }