Cards

v1/cards/public-key

GET/v1/cards/public-key

Auth: None — public endpoint

Returns the public key used to encrypt card data (PIN) before sending it, and to receive encrypted card details.

GET/v1/cards/public-key
curl 'https://sandbox-bank.tedr.com/open-banking/v1/cards/public-key'
{
  "status": "SUCCESS",
  "data": { "publicKey": "-----BEGIN PUBLIC KEY-----..." }
}

Authorization: not required.

v1/cards/can-order-card

GET/v1/cards/can-order-card

Auth: Bearer access token — how to use the access token.

Whether the current client may order a card (tariff, KYC status and so on).

GET/v1/cards/can-order-card
curl 'https://sandbox-bank.tedr.com/open-banking/v1/cards/can-order-card' \
  -H 'Authorization: Bearer <access-token>'
{ "status": "SUCCESS", "data": { "result": true } }
Card program fields
FieldDescription
id · name · descriptionProgram identity.
currencies[]Currencies the program can be issued in.
processingTypeVISA or MASTERCARD.
cardTypePHYSICAL or VIRTUAL.
costissue, service, currency.

GET /v1/cards/programs

GET/v1/cards/programs

Auth: Bearer access token — how to use the access token.

Query: ids[], pagination[limit], pagination[skip].

GET/v1/cards/programs
curl 'https://sandbox-bank.tedr.com/open-banking/v1/cards/programs' \
  -H 'Authorization: Bearer <access-token>'

GET /v1/cards/programs/:programId

GET/v1/cards/programs/:programId

Auth: Bearer access token — how to use the access token.

GET/v1/cards/programs/:programId
curl 'https://sandbox-bank.tedr.com/open-banking/v1/cards/programs/<programId>' \
  -H 'Authorization: Bearer <access-token>'

GET /v1/cards/delivery-methods

GET/v1/cards/delivery-methods

Auth: Bearer access token — how to use the access token.

Query: ids[], pagination[limit], pagination[skip].

GET/v1/cards/delivery-methods
curl 'https://sandbox-bank.tedr.com/open-banking/v1/cards/delivery-methods' \
  -H 'Authorization: Bearer <access-token>'

GET /v1/cards/delivery-methods/:deliveryMethodId

GET/v1/cards/delivery-methods/:deliveryMethodId

Auth: Bearer access token — how to use the access token.

GET/v1/cards/delivery-methods/:deliveryMethodId
curl 'https://sandbox-bank.tedr.com/open-banking/v1/cards/delivery-methods/<deliveryMethodId>' \
  -H 'Authorization: Bearer <access-token>'

v1/cards — order a card

POST/v1/cards

Auth: Bearer access token — how to use the access token.

Body parameters
NameTypeRequiredDefaultDescription
programIdUUIDRequiredCard program.
cardholderNamestringRequiredName embossed on the card.
phoneNumberstringRequiredCardholder phone.
deliveryobjectOptionalRequired for physical cards.
delivery.deliveryMethodIdUUIDRequiredRequired inside delivery.
delivery.address.line1stringRequiredStreet address.
delivery.address.line2stringOptionalApartment, suite and so on.
delivery.address.citystringRequiredCity.
delivery.address.countryCodestringRequiredISO alpha-3, e.g. DEU.
delivery.address.zipCodestringRequiredPostal code.
delivery.address.regionstringOptionalRegion or state.
delivery.address.nameOrCompanyNamestringRequiredRecipient of the delivery.
POST/v1/cards
curl -X POST 'https://sandbox-bank.tedr.com/open-banking/v1/cards' \
  -H 'Authorization: Bearer <access-token>' \
  -H 'Content-Type: application/json' \
  -d '{
    "programId": "80d9a3a3-787c-4475-bf2c-14e05424acac",
    "cardholderName": "MAX MUSTERMANN",
    "phoneNumber": "+1234567890",
    "delivery": {
      "deliveryMethodId": "5f4d42e5-60cb-42bc-b0d4-2b73d063560f",
      "address": {
        "line1": "Musterstrasse 1",
        "line2": "Apt. 5",
        "city": "Musterstadt",
        "countryCode": "DEU",
        "zipCode": "12345",
        "region": "Musterland",
        "nameOrCompanyName": "Max Mustermann"
      }
    }
  }'
Card status fields
FieldValues
orderStatusPROCESSING, WAITING_PAY, CREATING_CARD, DISPATCHED, ACTIVATION_CARD, APPROVED, DECLINED.
stateACTIVATION_IN_PROGRESS, ACTIVE, INACTIVE, BLOCKED, CLOSED, EXPIRED.
typePHYSICAL or VIRTUAL.
Card object fields
FieldTypeDescription
idUUIDCard id.
clientIdUUIDOwner.
programIdUUIDCard program.
holderNamestringName embossed on the card.
holderPhonestringCardholder phone.
orderStatusenumWhere the order stands.
stateenumWhether the card can be used.
typePHYSICAL | VIRTUALCard form factor.
processingTypeVISA | MASTERCARDPayment network.
isDefaultbooleanThe client's default card.
virtualAccountIdUUID | nullLinked account, when there is one.

GET /v1/cards

GET/v1/cards

Auth: Bearer access token — how to use the access token.

Query: ids[], orderStatuses[], states[], types[], pagination[limit], pagination[skip].

GET/v1/cards
curl -G 'https://sandbox-bank.tedr.com/open-banking/v1/cards' \
  -H 'Authorization: Bearer <access-token>' \
  -d 'states[]=ACTIVE' \
  -d 'types[]=VIRTUAL'

GET /v1/cards/:cardId

GET/v1/cards/:cardId

Auth: Bearer access token — how to use the access token.

GET/v1/cards/:cardId
curl 'https://sandbox-bank.tedr.com/open-banking/v1/cards/<cardId>' \
  -H 'Authorization: Bearer <access-token>'

GET /v1/cards/:cardId/requisites/:publicKey

GET/v1/cards/:cardId/requisites/:publicKey

Auth: Bearer access token — how to use the access token.

GET/v1/cards/:cardId/requisites/:publicKey
curl 'https://sandbox-bank.tedr.com/open-banking/v1/cards/<cardId>/requisites/<url-encoded-public-key>' \
  -H 'Authorization: Bearer <access-token>'
{
  "status": "SUCCESS",
  "data": { "requisites": "<encrypted string>" }
}

GET /v1/cards/:cardId/pin-code/:publicKey

GET/v1/cards/:cardId/pin-code/:publicKey

Auth: Bearer access token — how to use the access token.

GET/v1/cards/:cardId/pin-code/:publicKey
curl 'https://sandbox-bank.tedr.com/open-banking/v1/cards/<cardId>/pin-code/<url-encoded-public-key>' \
  -H 'Authorization: Bearer <access-token>'

v1/cards/:cardId/phone-number

PATCH/v1/cards/:cardId/phone-number

Auth: Bearer access token — how to use the access token.

Update the cardholder's phone number.

PATCH/v1/cards/:cardId/phone-number
curl -X PATCH 'https://sandbox-bank.tedr.com/open-banking/v1/cards/<cardId>/phone-number' \
  -H 'Authorization: Bearer <access-token>' \
  -H 'Content-Type: application/json' \
  -d '{ "phoneNumber": "+1234567890" }'

v1/cards/:cardId/pin-code

PATCH/v1/cards/:cardId/pin-code

Auth: Bearer access token — how to use the access token.

Set a new PIN.

PATCH/v1/cards/:cardId/pin-code
curl -X PATCH 'https://sandbox-bank.tedr.com/open-banking/v1/cards/<cardId>/pin-code' \
  -H 'Authorization: Bearer <access-token>' \
  -H 'Content-Type: application/json' \
  -d '{ "pin": "<PIN encrypted with the public key>" }'

PATCH /v1/cards/:cardId/active

PATCH/v1/cards/:cardId/active

Auth: Bearer access token — how to use the access token.

PATCH/v1/cards/:cardId/active
curl -X PATCH 'https://sandbox-bank.tedr.com/open-banking/v1/cards/<cardId>/active' \
  -H 'Authorization: Bearer <access-token>'

PATCH /v1/cards/:cardId/block

PATCH/v1/cards/:cardId/block

Auth: Bearer access token — how to use the access token.

PATCH/v1/cards/:cardId/block
curl -X PATCH 'https://sandbox-bank.tedr.com/open-banking/v1/cards/<cardId>/block' \
  -H 'Authorization: Bearer <access-token>'

PATCH /v1/cards/:cardId/unblock

PATCH/v1/cards/:cardId/unblock

Auth: Bearer access token — how to use the access token.

PATCH/v1/cards/:cardId/unblock
curl -X PATCH 'https://sandbox-bank.tedr.com/open-banking/v1/cards/<cardId>/unblock' \
  -H 'Authorization: Bearer <access-token>'

PATCH /v1/cards/:cardId/close

PATCH/v1/cards/:cardId/close

Auth: Bearer access token — how to use the access token.

PATCH/v1/cards/:cardId/close
curl -X PATCH 'https://sandbox-bank.tedr.com/open-banking/v1/cards/<cardId>/close' \
  -H 'Authorization: Bearer <access-token>'