# Create a reusable secure token from a customer's card or bank account.

Create a reusable secure token from a customer's card or bank account.

1. Save the customer's payment details to the vault and return a reusable secure token. Primary path shown is the card branch (source.type = card, keyed plain-text cardDetails). For the bank account branch, replace the source object with an ach source (type, accountType, secCode, nameOnAccount, accountNumber, routingNumber) for US accounts or a pad source (type, nameOnAccount, accountNumber, transitNumber, institutionNumber) for Canadian accounts. Requires an Idempotency-Key header. Remember: the token value in the response - not secureTokenId - is what later payment.paymentMethod.token expects.
 [createSecureToken](/api/create-secure-token)

## Workflow diagram

```mermaid
flowchart TD
  step0["1. secure token request · API"]
```
