Skip to content

Overview

This is the partner API from linkcy. Here you can find our API documentation.

LinkCy API allows you to create fully embedded banking products for your own company or consumers. This API is backed by all mandatory requirements by financial authorities. To process, information provided into the API must be accurate.

Authentication

You can obtain a LinkCy Authorization Key by contacting our commercial team here.

Download OpenAPI description
Languages
Servers
Generated server url
https://api.sandbox.linkcy.cloud/
Operations
Operations
Operations
Operations
Operations

Consumer

The consumer represents the individual partner client. It must have a valid phone number and be formally identified with a KYC procedure before carrying out any operation.

Operations

Request

This is the first step to create an Individual consumer. Phone object is mandatory to be able to go on to the next steps. You can add optional fields, this will help us to manage compliance triggers.

Only a few pieces of information are asked here, most of it will be extracted from documents during the KYC process. By doing the Endpoint: Get Consumer information, you will get access to all data.

You cannot create two consumers with the same phone number. Phone numbers must be unique.

Security
Linkcy-Auth
Bodyapplication/jsonrequired
partnerNamestring

The partnerName, mandatory if you create a consumer as anonymous. Ignored if requesting as a partner.

firstNamestring

The first name of the user to create. Must only contains Latin-1 characters.

middleNamestring

The middle name of the user to create. Must only contains Latin-1 characters.

lastNamestring

The last name of the user to create. Must only contains Latin-1 characters.

externalIdstring[ 0 .. 511 ] characters

A unique identifier that you can use to link this consumer to a user in your system.

phoneobject(PhoneRequestDto)required
phone.​countryCodestringrequired
Example: "33"
phone.​numberstring^[0-9]{1,14}$required
addressobject(EuropeanAddressRequest)
emailAddressstring
sourceOfFundsstring
Enum"COMPENSATION_PAYOUT""COMPANY_PROFITS""COMPANY_SALE""DIVIDEND_PAYMENTS""DIVORCE_SETTLEMENT""FIXED_DEPOSITS""GIFT""INHERITANCE""INSURANCE_PAYOUT""LOAN"
otherSourceOfFundsstring[ 0 .. 511 ] characters

Description of source of funds if 'OTHER' was chosen.

occupationstring

The consumer usual or principal work or business as a means of earning a living.

Enum"BUSINESS_OWNER""CLERGY""CRAFTSMAN""ENGINEER""EXECUTIVE""FARMER""FREELANCE""LIBERAL_PROFESSION""POLITICIAN""PROFESSOR"
otherOccupationstring[ 0 .. 511 ] characters

Description of occupation if 'OTHER' was chosen.

occupationSectorstring

The consumer usual or principal work or business sector.

Enum"ACCOUNTING_AUDIT""E_MONEY_SERVICES""CURRENCY_EXCHANGE""TRADES_ON_OTC_MARKET""PRECIOUS_METALS_OR_STONES""PAWNSHOPS""CROSS_BORDER_CASH_OR_PRECIOUS_MATERIALS""MINING_EXTRACTIVE_INDUSTRIES""ENERGY""TRADE_IN_PETROL_PRODUCTS"
isUsPersonboolean

If the consumer is a specified us person. Default value is false.

lastTermsAcceptedstring

The version of the terms and conditions signed by the consumer.

Example: "1.0"
taxIdentificationNumberstring[ 0 .. 255 ] characters
taxCountrystring
Enum"AUT""AND""BEL""BGR""CHE""CYP""CZE""DEU""DNK""ESP"
accountPurposesArray of stringsunique
Items Enum"PAY_BILLS""MONEY_TO_FROM_FAMILY""DIVIDENDS""SAVINGS""PERSONAL_BUSINESS_PURPOSES""PENSION""CRYPTO""SALARY""LOTTERY_GAMING""RECONCILIATION"
financialInformationobject(ConsumerFinancialInformationRequestDto)
metadataobject(Metadata)

A custom field to save data.

This field's size is limited to 3000 characters.

application/json
{ "partnerName": "string", "firstName": "string", "middleName": "string", "lastName": "string", "externalId": "string", "phone": { "countryCode": "33", "number": "string" }, "address": { "isoCountryCode": "AUT", "city": "string", "postalCode": "string", "street": "string", "number": "string", "refinement": "string", "stateOrProvince": "string", "bypassVerification": true }, "emailAddress": "string", "sourceOfFunds": "COMPENSATION_PAYOUT", "otherSourceOfFunds": "string", "occupation": "BUSINESS_OWNER", "otherOccupation": "string", "occupationSector": "ACCOUNTING_AUDIT", "isUsPerson": true, "lastTermsAccepted": "1.0", "taxIdentificationNumber": "string", "taxCountry": "AUT", "accountPurposes": [ "PAY_BILLS" ], "financialInformation": { "monthlyNetIncome": "LESS_THAN_1000", "currency": "EUR", "expectedMonthlyIncomingVolume": "LESS_THAN_1000", "expectedMonthlyOutgoingVolume": "LESS_THAN_1000", "expectedMonthlyIncomingTransferFrequency": "LESS_THAN_TWO_TIMES" }, "metadata": { "property1": {}, "property2": {} } }

Responses

Created

Bodyapplication/json
idstring(uuid)required

The new consumer identifier.

Response
application/json
{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08" }

Request

Get all information about one consumer by only using his consumer ID. You will get access to all verification statuses.

Security
Linkcy-Auth
Path
consumerIdstring(uuid)required
No request payload

Responses

OK

Bodyapplication/json
idstring(uuid)required
externalIdstring
phoneobject(PhoneInfoResponseDto_Partner)required
phone.​countryCodestring
phone.​numberstring
phone.​verifiedbooleanrequired
phone.​verificationDatestring(date-time)
kycInfoobject(KycInfoResponseDto_Partner)required
kycInfo.​kycApplicationIdstring(uuid)
kycInfo.​statusstringrequired
Enum"NOT_STARTED""CREATED""PROCESSING""ABORTED""PENDING_REVIEW""VALIDATED""DECLINED"
kycInfo.​statusReasonstring
kycInfo.​typestringrequired
Enum"FULL_KYC""DOC_ONLY""NOT_REQUIRED"
kycInfo.​updateDatestring(date-time)
statusobject(ConsumerStatus)required
status.​bankingobject(Banking)required
status.​banking.​valuestringrequired
Enum"VALIDATED""PENDING""MISSING_DATA""BLOCKED""NOT_CREATED"
status.​banking.​reasonstring
status.​kycobject(Kyc)required
status.​kyc.​valuestringrequired
Enum"NOT_STARTED""CREATED""PROCESSING""ABORTED""PENDING_REVIEW""VALIDATED""DECLINED"
status.​kyc.​reasonstring
status.​suspensionobject(Suspension)required
status.​suspension.​valuestringrequired
Enum"SUSPENDED""NOT_SUSPENDED"
status.​suspension.​operatorstring
Enum"END_USER""PARTNER""LINKCY"
status.​suspension.​reasonstring
status.​linkcyobject(Linkcy)required
status.​linkcy.​valuestringrequired
Enum"PENDING""FORBIDDEN""MISSING_DATA""VALIDATED""LIMITED""CLOSING""CLOSED"
status.​linkcy.​reasonstring
status.​complianceobject(Compliance)required
status.​compliance.​valuestringrequired
Enum"PENDING""DECLINED""PENDING_REVIEW""VALIDATED"
status.​compliance.​reasonstring
status.​overallobject(Overall)required
status.​overall.​valuestringrequired
Enum"ACTIVE""INACTIVE"
termsAcceptedbooleanrequired
addressobject(AddressResponseDto_Partner)

Address used on the bank statements of your users.

firstNamestring
middleNamestring
lastNamestring
emailobject(EmailInfoResponseDto_Partner)required
email.​addressstring
email.​verifiedbooleanrequired
email.​verificationDatestring(date-time)
genderstring
Enum"MALE""FEMALE"
birthCitystring
birthIsoCountryCodestring
Enum"ABW""AFG""AGO""AIA""ALA""ALB""AND""ARE""ARG""ARM"
nationalityCodestring
Enum"ABW""AFG""AGO""AIA""ALA""ALB""AND""ARE""ARG""ARM"
birthDatestring(date)
sourceOfFundsstring
Enum"COMPENSATION_PAYOUT""COMPANY_PROFITS""COMPANY_SALE""DIVIDEND_PAYMENTS""DIVORCE_SETTLEMENT""FIXED_DEPOSITS""GIFT""INHERITANCE""INSURANCE_PAYOUT""LOAN"
otherSourceOfFundsstring
occupationstring
Enum"BUSINESS_OWNER""CLERGY""CRAFTSMAN""ENGINEER""EXECUTIVE""FARMER""FREELANCE""LIBERAL_PROFESSION""POLITICIAN""PROFESSOR"
otherOccupationstring
notesstring

Public additional information concerning this entity.

creationDatestring(date-time)required
updateDatestring(date-time)required
taxIdentificationNumberstring
taxCountrystring
Enum"ABW""AFG""AGO""AIA""ALA""ALB""AND""ARE""ARG""ARM"
accountPurposesArray of stringsuniquerequired
Items Enum"PAY_BILLS""MONEY_TO_FROM_FAMILY""DIVIDENDS""SAVINGS""PERSONAL_BUSINESS_PURPOSES""PENSION""CRYPTO""SALARY""LOTTERY_GAMING""RECONCILIATION"
strongAuthenticationobject(ScaDeviceInfo)required
strongAuthentication.​idstring(uuid)required
strongAuthentication.​endpointIdstringrequired
strongAuthentication.​creationDatestring(date-time)required
strongAuthentication.​pinStatusstringrequired
Value"SET"
strongAuthentication.​biometryStatusstringrequired
Value"SET"
scaDevicesArray of objects(ScaDeviceInfoDto_Partner)uniquerequired
scaDevices[].​idstring(uuid)required
scaDevices[].​statusstringrequired
Enum"CREATED""AWAITING_ACTIVATION""ACTIVE""SUSPENDED""REMOVED"
scaDevices[].​creationDatestring(date-time)required
scaDevices[].​namestring
scaDevices[].​platformstring
scaDevices[].​deviceInfostring
financialInformationobject(FinancialInformation)
partnerMetadataobject(Metadata)
userMetadataobject(Metadata)
Response
application/json
{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "externalId": "string", "phone": { "countryCode": "string", "number": "string", "verified": true, "verificationDate": "2019-08-24T14:15:22Z" }, "kycInfo": { "kycApplicationId": "79d915d9-9648-4a89-9125-d56b7a19df65", "status": "NOT_STARTED", "statusReason": "string", "type": "FULL_KYC", "updateDate": "2019-08-24T14:15:22Z" }, "status": { "banking": {}, "kyc": {}, "suspension": {}, "linkcy": {}, "compliance": {}, "overall": {} }, "termsAccepted": true, "address": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "isoCountryCode": "ABW", "city": "string", "postalCode": "string", "street": "string", "number": "string", "refinement": "string", "stateOrProvince": "string", "status": "INVALID" }, "firstName": "string", "middleName": "string", "lastName": "string", "email": { "address": "string", "verified": true, "verificationDate": "2019-08-24T14:15:22Z" }, "gender": "MALE", "birthCity": "string", "birthIsoCountryCode": "ABW", "nationalityCode": "ABW", "birthDate": "2019-08-24", "sourceOfFunds": "COMPENSATION_PAYOUT", "otherSourceOfFunds": "string", "occupation": "BUSINESS_OWNER", "otherOccupation": "string", "notes": "string", "creationDate": "2019-08-24T14:15:22Z", "updateDate": "2019-08-24T14:15:22Z", "taxIdentificationNumber": "string", "taxCountry": "ABW", "accountPurposes": [ "PAY_BILLS" ], "strongAuthentication": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "endpointId": "string", "creationDate": "2019-08-24T14:15:22Z", "pinStatus": "SET", "biometryStatus": "SET" }, "scaDevices": [ {} ], "financialInformation": { "monthlyNetIncome": "LESS_THAN_1000", "currency": "EUR", "expectedMonthlyIncomingVolume": "LESS_THAN_1000", "expectedMonthlyOutgoingVolume": "LESS_THAN_1000", "expectedMonthlyIncomingTransferFrequency": "LESS_THAN_TWO_TIMES" }, "partnerMetadata": {}, "userMetadata": {} }

Request

You can patch a consumer to update some information. Depending on the information patched, you will have to perform another action:

  • External ID -> no action to perform

  • Phone -> you will need to use Endpoint POST Send consumer verification code & validate consumer phone

  • Address : we will use our tools to check if the address is valid or not, we recommend you to ask your consumer to confirm the address once the modification is done. Address is very important to send cards. Once the card is activated, the address status will go from valid to verified.

  • Email address -> The "emailAddressVerified" status will switch to "false" you will need to use Endpoint POST Send a verification email to the consumer to verify the email address.

  • Source of funds -> no action to perform

  • Occupation -> no action to perform

  • Terms & Condition -> Needed if "termsAccepted" is "false".

Security
Linkcy-Auth
Path
consumerIdstring(uuid)required
Bodyapplication/jsonrequired
externalIdstring[ 0 .. 511 ] characters

A unique identifier that you can use to link this consumer to a user in your system.

sourceOfFundsstring
Enum"COMPENSATION_PAYOUT""COMPANY_PROFITS""COMPANY_SALE""DIVIDEND_PAYMENTS""DIVORCE_SETTLEMENT""FIXED_DEPOSITS""GIFT""INHERITANCE""INSURANCE_PAYOUT""LOAN"
otherSourceOfFundsstring[ 0 .. 511 ] characters

Description of source of funds if 'OTHER' was chosen.

occupationstring

The consumer usual or principal work or business as a means of earning a living.

Enum"BUSINESS_OWNER""CLERGY""CRAFTSMAN""ENGINEER""EXECUTIVE""FARMER""FREELANCE""LIBERAL_PROFESSION""POLITICIAN""PROFESSOR"
otherOccupationstring[ 0 .. 511 ] characters

Description of occupation if 'OTHER' was chosen.

occupationSectorstring

The consumer usual or principal work or business sector.

Enum"ACCOUNTING_AUDIT""E_MONEY_SERVICES""CURRENCY_EXCHANGE""TRADES_ON_OTC_MARKET""PRECIOUS_METALS_OR_STONES""PAWNSHOPS""CROSS_BORDER_CASH_OR_PRECIOUS_MATERIALS""MINING_EXTRACTIVE_INDUSTRIES""ENERGY""TRADE_IN_PETROL_PRODUCTS"
isUsPersonboolean

If the consumer is a specified us person. Default value is false.

lastTermsAcceptedstring

The version of the terms and conditions signed by the consumer.

Example: "1.0"
taxIdentificationNumberstring[ 0 .. 255 ] characters
taxCountrystring
Enum"AUT""AND""BEL""BGR""CHE""CYP""CZE""DEU""DNK""ESP"
accountPurposesArray of stringsunique
Items Enum"PAY_BILLS""MONEY_TO_FROM_FAMILY""DIVIDENDS""SAVINGS""PERSONAL_BUSINESS_PURPOSES""PENSION""CRYPTO""SALARY""LOTTERY_GAMING""RECONCILIATION"
financialInformationRequestDtoobject(ConsumerFinancialInformationRequestDto_Partner)
userMetadataobject(User metadata)

A custom field to save data.

This field's size is limited to 3000 characters.

partnerMetadataobject(Partner metadata)

A custom field to save data that cannot be modified by the end-user.

This field's size is limited to 3000 characters.

Note: if you are authenticated as end-user, trying to update this field will result in a Forbidden Error.

application/json
{ "externalId": "string", "sourceOfFunds": "COMPENSATION_PAYOUT", "otherSourceOfFunds": "string", "occupation": "BUSINESS_OWNER", "otherOccupation": "string", "occupationSector": "ACCOUNTING_AUDIT", "isUsPerson": true, "lastTermsAccepted": "1.0", "taxIdentificationNumber": "string", "taxCountry": "AUT", "accountPurposes": [ "PAY_BILLS" ], "financialInformationRequestDto": { "monthlyNetIncome": "LESS_THAN_1000", "currency": "EUR", "expectedMonthlyIncomingVolume": "LESS_THAN_1000", "expectedMonthlyOutgoingVolume": "LESS_THAN_1000", "expectedMonthlyIncomingTransferFrequency": "LESS_THAN_TWO_TIMES" }, "userMetadata": { "property1": {}, "property2": {} }, "partnerMetadata": { "property1": {}, "property2": {} } }

Responses

OK

Bodyapplication/json
idstring(uuid)required
updateDatestring(date-time)required
Response
application/json
{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "updateDate": "2019-08-24T14:15:22Z" }
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations