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
Operations
Operations
Operations
Operations
Operations
Operations

Request

Fetch all cards based on parameters. More options will be added in the near future.

Security
Linkcy-Auth
Query
sortAttributestring
Value"CREATION_DATE"
endUserIdstring(uuid)

The ID of the end-user. If empty, the query will return results for all end-users.

ledgerIdstring(uuid)

The ID of the card ledger. If empty, the query will return cards for all ledgers.

profileIdstring(uuid)

The ID of the card profile. If empty, the query will return cards for all profiles.

statusArray of strings
Items Enum"CREATING""AWAITING_ACTIVATION""ACTIVATING""REACTIVATING""ACTIVE""SUSPENDING""SUSPENDED""CLOSING""CLOSED""EXPIRED"
typesArray of strings
Items Enum"PHYSICAL""VIRTUAL"
pageSizeinteger(int32)<= 100

The size of the page to be returned.

pageinteger(int32)[ 0 .. 500 ]

The page number.

sortDirectionstring
Enum"ASC""DESC"
No request payload

Responses

OK

Bodyapplication/json
contentArray of objects(CardListElementDto)required
content[].​idstring(uuid)required
content[].​endUserIdstring(uuid)required
content[].​ledgerIdstring(uuid)required
content[].​friendlyNamestring
content[].​profileobject(Profile)required
content[].​profile.​idstring(uuid)required
content[].​profile.​namestringrequired
content[].​expiryDatestringrequired
content[].​nameOnCardstringrequired
content[].​cardholderNameOnCardstring
content[].​typestringrequired
Enum"PHYSICAL""VIRTUAL"
content[].​statusstringrequired
Enum"CREATING""AWAITING_ACTIVATION""ACTIVATING""REACTIVATING""ACTIVE""SUSPENDING""SUSPENDED""CLOSING""CLOSED""EXPIRED"
content[].​creationDatestring(date-time)required
totalElementsinteger(int64)required
Example: 1
pageinteger(int32)required

The page number.

pageSizeinteger(int32)required

The requested page size.

Response
application/json
{ "content": [ {} ], "totalElements": 1, "page": 0, "pageSize": 0 }

Request

Create a card for a specific ledger.

Please note: when creating the first card of a ledger, if the specified ledger is not empty, we will have to empty it briefly in order to configure the card.The money will be back in the ledger within a few seconds.

This operation might require SCA.

Security
Linkcy-Auth
Headers
Linkcy-SCA-Strategystring

The strategy to use when a SCA is required:

More information:
  • PUSH_NOTIFICATION: will send a notification if the SCA is required.
  • DATA_SIGNING: Linkcy-SCA-Signature header must contain signature provided by PowerAuth Mobile SDK on registered device.
  • BY_PASS: Sandbox only - will ignore any SCA if used.
Error Codes
  • 409 Conflict
    • SCA_REQUIRED: The operation you are trying to do requires SCA, current strategy {0}.
Default PUSH_NOTIFICATION
Enum"PUSH_NOTIFICATION""DATA_SIGNING""BY_PASS"
Linkcy-SCA-Signaturestring

The signature that needs to be validated, it is generated from data signing.

More information:
  • Signature will be verified against wultra.
  • Operation will be denied if signature is not valide.
  • Avoid creating multiple signature at same time for the same registration.
  • Signature TTL is 30 sec.
Error Codes
  • 401 Forbidden
    • SCA_SIGNATURE_DOES_NOT_MATCH: The sca signature provided doesn't match the one required for this operation
  • 404 Not Found
    • NO_ACTIVE_SCA_DEVICE_FOUND: No active SCA device could be found.
  • 409 Conflict
    • SCA_DEVICE_NOT_VALID: The device cannot be used to sign this data.
    • SCA_SIGNATURE_FORMAT_INVALID: The signature format for data signing SCA strategy is invalid: HTTP header validation failed.
    • SCA_SIGNATURE_MISSING: The signature required for data signing SCA strategy is missing.
  • 500 Internal Server Error
    • SCA_UNEXPECTED_ERROR: Unable to perform SCA operation
Bodyapplication/jsonrequired
Any of:
deliveryMethodstringrequired
Enum"FRENCH_MAIL""FRENCH_MAIL_TRACKING""INTERNATIONAL_MAIL"
ledgerIdstring(uuid)required
profileIdstring(uuid)required

The card profile id. Must be an active card profile.

nameOnCardstring^[A-Z\s]{1,21}$

The name that will be printed on the card : Consumer name for consumer cards or corporate name for Corporate cards.

Can only contain ISO basic Latin alphabet and can be up to 21 characters long including spaces.

Default "\"FIRSTNAME LASTNAME\" or \"CORPORATE NAME\""
cardholderNameOnCardstring^[A-Z0-9\s]{1,21}$

Cardholder Name printed on card for corporate card. Can only contain ISO basic Latin alphabet, numbers and can be up to 21 characters long including spaces.

This name is only available when the card profile has a corporate card program.

Default "CORPORATE NAME"
friendlyNamestring[ 1 .. 255 ] characters
rulesArray of SpendLimitRuleDto (object) or PaymentDisableRuleDto (object) or MerchantsMultipleTargetsRuleDto (object) or MccMultipleTargetsRuleDto (object) or DaysMultipleTargetsRuleDto (object)

You can add rules when creating a card. You can only send one rule by type in the list.

As a partner, this rules take priority over the rules set in the profile

application/json
{ "deliveryMethod": "FRENCH_MAIL", "ledgerId": "a2873d47-59a8-4daf-a325-cb2c04557dd7", "profileId": "faebe71b-2bf8-4bdb-9b67-258e4d6aa00a", "nameOnCard": "\"FIRSTNAME LASTNAME\" or \"CORPORATE NAME\"", "cardholderNameOnCard": "CORPORATE NAME", "friendlyName": "string", "rules": [ {} ] }

Responses

Created

Bodyapplication/json
idstring(uuid)required
Response
application/json
{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08" }

Request

Suspend a card, all transactions on it will be blocked until it is reactivated.

Security
Linkcy-Auth
Path
cardIdstringrequired

The card id

Bodyapplication/jsonrequired
operatorstring(Operator)required

The entity initiating this operation.

Default "END_USER"
Enum"END_USER""PARTNER""LINKCY"
reasonstring

Optional reason of the card suspension.

Enum"STOLEN""LOST""DAMAGED""OTHER"
otherReasonstring[ 0 .. 511 ] characters

Description of reason if 'OTHER' was chosen.

application/json
{ "operator": "END_USER", "reason": "STOLEN", "otherReason": "string" }

Responses

Card is being suspended

Response
No content
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations