Skip to main content
API Reference
Cards
Card Tokens

Card Tokens represent a tokenized card number that can be used for Card Push Transfers and Card Validations.

The Card Token object
{
  "created_at": "2020-01-31T23:59:59Z",
  "expiration_date": "2020-01-31",
  "id": "outbound_card_token_zlt0ml6youq3q7vcdlg0",
  "last4": "1234",
  "length": 16,
  "prefix": "46637100",
  "type": "card_token"
}
Attributes
created_at
string

The ISO 8601 date and time at which the card token was created.

expiration_date
string

The ISO 8601 date when the card expires.

id
string

The Card Token’s identifier.

last4
string

The last 4 digits of the card number.

length
integer

The length of the card number.

prefix
string

The prefix of the card number, usually 8 digits.

type
string

A constant representing the object’s type. For this resource it will always be card_token.

List Card Tokens
curl \
  --url "${INCREASE_URL}/card_tokens" \
  -H "Authorization: Bearer ${INCREASE_API_KEY}"
import Increase from 'increase';

const client = new Increase({
  apiKey: process.env['INCREASE_API_KEY'], // This is the default and can be omitted
});

// Automatically fetches more pages as needed.
for await (const cardToken of client.cardTokens.list()) {
  console.log(cardToken.id);
}
import os
from increase import Increase

client = Increase(
    api_key=os.environ.get("INCREASE_API_KEY"),  # This is the default and can be omitted
)
page = client.card_tokens.list()
page = page.data[0]
print(page.id)
require "increase"

increase = Increase::Client.new(
  api_key: ENV["INCREASE_API_KEY"] # This is the default and can be omitted
)

page = increase.card_tokens.list

puts(page)
package main

import (
	"context"
	"fmt"
	"os"

	"github.com/Increase/increase-go"
	"github.com/Increase/increase-go/option"
)

func main() {
	client := increase.NewClient(
		option.WithAPIKey(os.Getenv("INCREASE_API_KEY")), // This is the default and can be omitted
	)
	page, err := client.CardTokens.List(context.TODO(), increase.CardTokenListParams{})
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", page)
}
package com.increase.api.example;

import com.increase.api.client.IncreaseClient;
import com.increase.api.client.okhttp.IncreaseOkHttpClient;
import com.increase.api.models.cardtokens.CardTokenListPage;
import com.increase.api.models.cardtokens.CardTokenListParams;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        IncreaseClient client = IncreaseOkHttpClient.fromEnv();

        CardTokenListPage page = client.cardTokens().list();
    }
}
package com.increase.api.example

import com.increase.api.client.IncreaseClient
import com.increase.api.client.okhttp.IncreaseOkHttpClient
import com.increase.api.models.cardtokens.CardTokenListPage
import com.increase.api.models.cardtokens.CardTokenListParams

fun main() {
    val client: IncreaseClient = IncreaseOkHttpClient.fromEnv()

    val page: CardTokenListPage = client.cardTokens().list()
}
<?php

require_once dirname(__DIR__) . '/vendor/autoload.php';

use Increase\Client;
use Increase\Core\Exceptions\APIException;

$client = new Client(apiKey: getenv('INCREASE_API_KEY'));

try {
  $page = $client->cardTokens->list(
    createdAt: [
      'after' => new \DateTimeImmutable('2019-12-27T18:11:19.117Z'),
      'before' => new \DateTimeImmutable('2019-12-27T18:11:19.117Z'),
      'onOrAfter' => new \DateTimeImmutable('2019-12-27T18:11:19.117Z'),
      'onOrBefore' => new \DateTimeImmutable('2019-12-27T18:11:19.117Z'),
    ],
    cursor: 'cursor',
    limit: 1,
  );

  var_dump($page);
} catch (APIException $e) {
  echo $e->getMessage();
}
using System;
using Increase.Api;
using Increase.Api.Models.CardTokens;

IncreaseClient client = new();

CardTokenListParams parameters = new();

var page = await client.CardTokens.List(parameters);
await foreach (var item in page.Paginate())
{
    Console.WriteLine(item);
}
Returns a list response :
{
  "data": [
    { /* Card Token object */ },
    { /* Card Token object */ }
    /* ... */
  ],
  "next_cursor": "v57w5d",
}
Parameters
More
cursor
string
limit
integer
created_at.after
string
created_at.before
string
created_at.on_or_after
string
created_at.on_or_before
string
Retrieve a Card Token
curl \
  --url "${INCREASE_URL}/card_tokens/outbound_card_token_zlt0ml6youq3q7vcdlg0" \
  -H "Authorization: Bearer ${INCREASE_API_KEY}"
import Increase from 'increase';

const client = new Increase({
  apiKey: process.env['INCREASE_API_KEY'], // This is the default and can be omitted
});

const cardToken = await client.cardTokens.retrieve('outbound_card_token_zlt0ml6youq3q7vcdlg0');

console.log(cardToken.id);
import os
from increase import Increase

client = Increase(
    api_key=os.environ.get("INCREASE_API_KEY"),  # This is the default and can be omitted
)
card_token = client.card_tokens.retrieve(
    "outbound_card_token_zlt0ml6youq3q7vcdlg0",
)
print(card_token.id)
require "increase"

increase = Increase::Client.new(
  api_key: ENV["INCREASE_API_KEY"] # This is the default and can be omitted
)

card_token = increase.card_tokens.retrieve("outbound_card_token_zlt0ml6youq3q7vcdlg0")

puts(card_token)
package main

import (
	"context"
	"fmt"
	"os"

	"github.com/Increase/increase-go"
	"github.com/Increase/increase-go/option"
)

func main() {
	client := increase.NewClient(
		option.WithAPIKey(os.Getenv("INCREASE_API_KEY")), // This is the default and can be omitted
	)
	cardToken, err := client.CardTokens.Get(context.TODO(), "outbound_card_token_zlt0ml6youq3q7vcdlg0")
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", cardToken.ID)
}
package com.increase.api.example;

import com.increase.api.client.IncreaseClient;
import com.increase.api.client.okhttp.IncreaseOkHttpClient;
import com.increase.api.models.cardtokens.CardToken;
import com.increase.api.models.cardtokens.CardTokenRetrieveParams;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        IncreaseClient client = IncreaseOkHttpClient.fromEnv();

        CardToken cardToken = client.cardTokens().retrieve("outbound_card_token_zlt0ml6youq3q7vcdlg0");
    }
}
package com.increase.api.example

import com.increase.api.client.IncreaseClient
import com.increase.api.client.okhttp.IncreaseOkHttpClient
import com.increase.api.models.cardtokens.CardToken
import com.increase.api.models.cardtokens.CardTokenRetrieveParams

fun main() {
    val client: IncreaseClient = IncreaseOkHttpClient.fromEnv()

    val cardToken: CardToken = client.cardTokens().retrieve("outbound_card_token_zlt0ml6youq3q7vcdlg0")
}
<?php

require_once dirname(__DIR__) . '/vendor/autoload.php';

use Increase\Client;
use Increase\Core\Exceptions\APIException;

$client = new Client(apiKey: getenv('INCREASE_API_KEY'));

try {
  $cardToken = $client->cardTokens->retrieve(
    'outbound_card_token_zlt0ml6youq3q7vcdlg0'
  );

  var_dump($cardToken);
} catch (APIException $e) {
  echo $e->getMessage();
}
using System;
using Increase.Api;
using Increase.Api.Models.CardTokens;

IncreaseClient client = new();

CardTokenRetrieveParams parameters = new()
{
    CardTokenID = "outbound_card_token_zlt0ml6youq3q7vcdlg0"
};

var cardToken = await client.CardTokens.Retrieve(parameters);

Console.WriteLine(cardToken);
Parameters
card_token_id
string
Required

The identifier of the Card Token.

More about Card Tokens.
Retrieve the capabilities of a Card Token

The capabilities of a Card Token describe whether the card can be used for specific operations, such as Card Push Transfers. The capabilities can change over time based on the issuing bank’s configuration of the card range.

curl \
  --url "${INCREASE_URL}/card_tokens/outbound_card_token_zlt0ml6youq3q7vcdlg0/capabilities" \
  -H "Authorization: Bearer ${INCREASE_API_KEY}"
import Increase from 'increase';

const client = new Increase({
  apiKey: process.env['INCREASE_API_KEY'], // This is the default and can be omitted
});

const cardTokenCapabilities = await client.cardTokens.capabilities(
  'outbound_card_token_zlt0ml6youq3q7vcdlg0',
);

console.log(cardTokenCapabilities.routes);
import os
from increase import Increase

client = Increase(
    api_key=os.environ.get("INCREASE_API_KEY"),  # This is the default and can be omitted
)
card_token_capabilities = client.card_tokens.capabilities(
    "outbound_card_token_zlt0ml6youq3q7vcdlg0",
)
print(card_token_capabilities.routes)
require "increase"

increase = Increase::Client.new(
  api_key: ENV["INCREASE_API_KEY"] # This is the default and can be omitted
)

card_token_capabilities = increase.card_tokens.capabilities("outbound_card_token_zlt0ml6youq3q7vcdlg0")

puts(card_token_capabilities)
package main

import (
	"context"
	"fmt"
	"os"

	"github.com/Increase/increase-go"
	"github.com/Increase/increase-go/option"
)

func main() {
	client := increase.NewClient(
		option.WithAPIKey(os.Getenv("INCREASE_API_KEY")), // This is the default and can be omitted
	)
	cardTokenCapabilities, err := client.CardTokens.Capabilities(context.TODO(), "outbound_card_token_zlt0ml6youq3q7vcdlg0")
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", cardTokenCapabilities.Routes)
}
package com.increase.api.example;

import com.increase.api.client.IncreaseClient;
import com.increase.api.client.okhttp.IncreaseOkHttpClient;
import com.increase.api.models.cardtokens.CardTokenCapabilities;
import com.increase.api.models.cardtokens.CardTokenCapabilitiesParams;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        IncreaseClient client = IncreaseOkHttpClient.fromEnv();

        CardTokenCapabilities cardTokenCapabilities = client.cardTokens().capabilities("outbound_card_token_zlt0ml6youq3q7vcdlg0");
    }
}
package com.increase.api.example

import com.increase.api.client.IncreaseClient
import com.increase.api.client.okhttp.IncreaseOkHttpClient
import com.increase.api.models.cardtokens.CardTokenCapabilities
import com.increase.api.models.cardtokens.CardTokenCapabilitiesParams

fun main() {
    val client: IncreaseClient = IncreaseOkHttpClient.fromEnv()

    val cardTokenCapabilities: CardTokenCapabilities = client.cardTokens().capabilities("outbound_card_token_zlt0ml6youq3q7vcdlg0")
}
<?php

require_once dirname(__DIR__) . '/vendor/autoload.php';

use Increase\Client;
use Increase\Core\Exceptions\APIException;

$client = new Client(apiKey: getenv('INCREASE_API_KEY'));

try {
  $cardTokenCapabilities = $client->cardTokens->capabilities(
    'outbound_card_token_zlt0ml6youq3q7vcdlg0'
  );

  var_dump($cardTokenCapabilities);
} catch (APIException $e) {
  echo $e->getMessage();
}
using System;
using Increase.Api;
using Increase.Api.Models.CardTokens;

IncreaseClient client = new();

CardTokenCapabilitiesParams parameters = new()
{
    CardTokenID = "outbound_card_token_zlt0ml6youq3q7vcdlg0"
};

var cardTokenCapabilities = await client.CardTokens.Capabilities(parameters);

Console.WriteLine(cardTokenCapabilities);
Returns a Card Token Capabilities object:
{
  "routes": [
    {
      "cross_border_push_transfers": "not_supported",
      "domestic_push_transfers": "supported",
      "issuer_country": "US",
      "route": "visa"
    }
  ],
  "type": "card_token_capabilities"
}
Parameters
card_token_id
string
Required

The identifier of the Card Token.

More about Card Tokens.
Sandbox: Create a Card Token

Simulates tokenizing a card in the sandbox environment.

curl -X "POST" \
  --url "${INCREASE_URL}/simulations/card_tokens" \
  -H "Authorization: Bearer ${INCREASE_API_KEY}" \
  -H "Content-Type: application/json" \
  -d $'{
    "capabilities": [
      {
        "cross_border_push_transfers": "supported",
        "domestic_push_transfers": "supported",
        "route": "visa"
      }
    ],
    "expiration": "2020-01-31T23:59:59Z",
    "last4": "1234",
    "prefix": "41234567",
    "primary_account_number_length": 16
  }'
import Increase from 'increase';

const client = new Increase({
  apiKey: process.env['INCREASE_API_KEY'], // This is the default and can be omitted
});

const cardToken = await client.simulations.cardTokens.create();

console.log(cardToken.id);
import os
from increase import Increase

client = Increase(
    api_key=os.environ.get("INCREASE_API_KEY"),  # This is the default and can be omitted
)
card_token = client.simulations.card_tokens.create()
print(card_token.id)
require "increase"

increase = Increase::Client.new(
  api_key: ENV["INCREASE_API_KEY"] # This is the default and can be omitted
)

card_token = increase.simulations.card_tokens.create

puts(card_token)
package main

import (
	"context"
	"fmt"
	"os"

	"github.com/Increase/increase-go"
	"github.com/Increase/increase-go/option"
)

func main() {
	client := increase.NewClient(
		option.WithAPIKey(os.Getenv("INCREASE_API_KEY")), // This is the default and can be omitted
	)
	cardToken, err := client.Simulations.CardTokens.New(context.TODO(), increase.SimulationCardTokenNewParams{})
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", cardToken.ID)
}
package com.increase.api.example;

import com.increase.api.client.IncreaseClient;
import com.increase.api.client.okhttp.IncreaseOkHttpClient;
import com.increase.api.models.cardtokens.CardToken;
import com.increase.api.models.simulations.cardtokens.CardTokenCreateParams;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        IncreaseClient client = IncreaseOkHttpClient.fromEnv();

        CardToken cardToken = client.simulations().cardTokens().create();
    }
}
package com.increase.api.example

import com.increase.api.client.IncreaseClient
import com.increase.api.client.okhttp.IncreaseOkHttpClient
import com.increase.api.models.cardtokens.CardToken
import com.increase.api.models.simulations.cardtokens.CardTokenCreateParams

fun main() {
    val client: IncreaseClient = IncreaseOkHttpClient.fromEnv()

    val cardToken: CardToken = client.simulations().cardTokens().create()
}
<?php

require_once dirname(__DIR__) . '/vendor/autoload.php';

use Increase\Client;
use Increase\Core\Exceptions\APIException;

$client = new Client(apiKey: getenv('INCREASE_API_KEY'));

try {
  $cardToken = $client->simulations->cardTokens->create(
    capabilities: [
      [
        'crossBorderPushTransfers' => 'supported',
        'domesticPushTransfers' => 'supported',
        'route' => 'visa',
      ],
    ],
    expiration: '2019-12-27',
    last4: '1234',
    outcome: ['result' => 'approve', 'decline' => ['reason' => 'do_not_honor']],
    prefix: '41234567',
    primaryAccountNumberLength: 16,
  );

  var_dump($cardToken);
} catch (APIException $e) {
  echo $e->getMessage();
}
using System;
using Increase.Api;
using Increase.Api.Models.Simulations.CardTokens;

IncreaseClient client = new();

CardTokenCreateParams parameters = new();

var cardToken = await client.Simulations.CardTokens.Create(parameters);

Console.WriteLine(cardToken);
Parameters
capabilities
array

The capabilities of the outbound card token.

expiration
string

The expiration date of the card.

last4
string

The last 4 digits of the card number.

Exactly 4 characters
outcome
dictionary

The outcome to simulate for card push transfers using this token.

prefix
string

The prefix of the card number, usually the first 8 digits.

Between 1 and 8 characters
primary_account_number_length
integer

The total length of the card number, including prefix and last4.