- listMerchantCategories - List the predefined merchant category groups available for issued card spend controls, along with
the merchant category codes (MCCs) each group covers. Use these category names in an issued card's
merchantCategoryRestrictions.
To access this endpoint using an access token,
you'll need to specify the /issued-cards.read scope.
- request - Request a virtual card be issued.
To access this endpoint using an access token
you'll need to specify the /accounts/{accountID}/issued-cards.write scope.
- list - List Moov issued cards existing for the account.
To access this endpoint using an access token
you'll need to specify the /accounts/{accountID}/issued-cards.read scope.
- get - Retrieve a single issued card associated with a Moov account.
To access this endpoint using an access token
you'll need to specify the /accounts/{accountID}/issued-cards.read scope.
- update - Update a Moov issued card.
To access this endpoint using an access token
you'll need to specify the /accounts/{accountID}/issued-cards.write scope.
- getFull - Get issued card with PAN, CVV, and expiration.
Only use this endpoint if you have provided Moov with a copy of your PCI attestation of compliance.
To access this endpoint using an access token
you'll need to specify the /accounts/{accountID}/issued-cards.read-secure scope.
List the predefined merchant category groups available for issued card spend controls, along with
the merchant category codes (MCCs) each group covers. Use these category names in an issued card's
merchantCategoryRestrictions.
To access this endpoint using an access token,
you'll need to specify the /issued-cards.read scope.
package hello.world;
import io.moov.sdk.Moov;
import io.moov.sdk.models.components.Security;
import io.moov.sdk.models.operations.ListIssuingMerchantCategoriesResponse;
import java.lang.Exception;
public class Application {
public static void main(String[] args) throws Exception {
Moov sdk = Moov.builder()
.security(Security.builder()
.username("")
.password("")
.build())
.build();
ListIssuingMerchantCategoriesResponse res = sdk.cardIssuing().listMerchantCategories()
.call();
if (res.merchantCategories().isPresent()) {
System.out.println(res.merchantCategories().get());
}
}
}ListIssuingMerchantCategoriesResponse
| Error Type | Status Code | Content Type |
|---|---|---|
| models/errors/APIException | 4XX, 5XX | */* |
Request a virtual card be issued.
To access this endpoint using an access token
you'll need to specify the /accounts/{accountID}/issued-cards.write scope.
package hello.world;
import io.moov.sdk.Moov;
import io.moov.sdk.models.components.*;
import io.moov.sdk.models.errors.GenericError;
import io.moov.sdk.models.errors.RequestCardError;
import io.moov.sdk.models.operations.RequestCardResponse;
import java.lang.Exception;
import java.util.List;
import java.util.Map;
public class Application {
public static void main(String[] args) throws GenericError, RequestCardError, Exception {
Moov sdk = Moov.builder()
.security(Security.builder()
.username("")
.password("")
.build())
.build();
RequestCardResponse res = sdk.cardIssuing().request()
.accountID("d9ac71ae-fccb-4dfc-9fed-710ca654e3ed")
.requestCard(RequestCard.builder()
.metadata(Map.ofEntries(
Map.entry("optional", "metadata")))
.billingAddress(Address.builder()
.addressLine1("123 Main Street")
.city("Boulder")
.stateOrProvince("CO")
.postalCode("80301")
.country("US")
.addressLine2("Apt 302")
.build())
.expiration(CardExpiration.builder()
.month("01")
.year("21")
.build())
.controls(IssuingControls.builder()
.velocityLimits(List.of(
IssuingVelocityLimit.builder()
.interval(IssuingIntervalLimit.PER_TRANSACTION)
.amount(10000L)
.build()))
.build())
.build())
.call();
if (res.issuedCard().isPresent()) {
System.out.println(res.issuedCard().get());
}
}
}| Parameter | Type | Required | Description |
|---|---|---|---|
accountID |
String | ✔️ | The Moov business account for which the card is to be issued. |
requestCard |
RequestCard | ✔️ | N/A |
| Error Type | Status Code | Content Type |
|---|---|---|
| models/errors/GenericError | 400 | application/json |
| models/errors/RequestCardError | 422 | application/json |
| models/errors/APIException | 4XX, 5XX | */* |
List Moov issued cards existing for the account.
To access this endpoint using an access token
you'll need to specify the /accounts/{accountID}/issued-cards.read scope.
package hello.world;
import io.moov.sdk.Moov;
import io.moov.sdk.models.components.Security;
import io.moov.sdk.models.operations.ListIssuedCardsResponse;
import java.lang.Exception;
public class Application {
public static void main(String[] args) throws Exception {
Moov sdk = Moov.builder()
.security(Security.builder()
.username("")
.password("")
.build())
.build();
ListIssuedCardsResponse res = sdk.cardIssuing().list()
.accountID("17c958e0-3abe-46e5-8afb-98742f1fb8ac")
.skip(60L)
.count(20L)
.call();
if (res.issuedCards().isPresent()) {
System.out.println(res.issuedCards().get());
}
}
}| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
accountID |
String | ✔️ | The Moov business account for which the cards have been issued. | |
skip |
Optional<Long> | ➖ | N/A | 60 |
count |
Optional<Long> | ➖ | N/A | 20 |
states |
List<IssuedCardState> | ➖ | Optional, comma-separated states to filter the Moov list issued cards response. For example active,closed |
| Error Type | Status Code | Content Type |
|---|---|---|
| models/errors/APIException | 4XX, 5XX | */* |
Retrieve a single issued card associated with a Moov account.
To access this endpoint using an access token
you'll need to specify the /accounts/{accountID}/issued-cards.read scope.
package hello.world;
import io.moov.sdk.Moov;
import io.moov.sdk.models.components.Security;
import io.moov.sdk.models.operations.GetIssuedCardResponse;
import java.lang.Exception;
public class Application {
public static void main(String[] args) throws Exception {
Moov sdk = Moov.builder()
.security(Security.builder()
.username("")
.password("")
.build())
.build();
GetIssuedCardResponse res = sdk.cardIssuing().get()
.accountID("4fde8da4-b6c5-4379-82a2-4ff6a742e41a")
.issuedCardID("d04885c9-ea6b-43a7-9186-63d9fbd57716")
.call();
if (res.issuedCard().isPresent()) {
System.out.println(res.issuedCard().get());
}
}
}| Parameter | Type | Required | Description |
|---|---|---|---|
accountID |
String | ✔️ | The Moov business account for which the card was issued. |
issuedCardID |
String | ✔️ | N/A |
| Error Type | Status Code | Content Type |
|---|---|---|
| models/errors/APIException | 4XX, 5XX | */* |
Update a Moov issued card.
To access this endpoint using an access token
you'll need to specify the /accounts/{accountID}/issued-cards.write scope.
package hello.world;
import io.moov.sdk.Moov;
import io.moov.sdk.models.components.*;
import io.moov.sdk.models.errors.GenericError;
import io.moov.sdk.models.errors.UpdateIssuedCardError;
import io.moov.sdk.models.operations.UpdateIssuedCardResponse;
import java.lang.Exception;
import java.util.List;
import java.util.Map;
public class Application {
public static void main(String[] args) throws GenericError, UpdateIssuedCardError, Exception {
Moov sdk = Moov.builder()
.security(Security.builder()
.username("")
.password("")
.build())
.build();
UpdateIssuedCardResponse res = sdk.cardIssuing().update()
.accountID("44db31bc-2813-424b-9b8c-2d3f5f1300e3")
.issuedCardID("69ca2a7e-7bbc-4176-9d0c-2a1aa7143006")
.updateIssuedCard(UpdateIssuedCard.builder()
.metadata(Map.ofEntries(
Map.entry("optional", "metadata")))
.billingAddress(BillingAddress.builder()
.addressLine1("123 Main Street")
.addressLine2("Apt 302")
.city("Boulder")
.stateOrProvince("CO")
.postalCode("80301")
.country("US")
.build())
.controls(UpdateIssuingControls.builder()
.velocityLimits(List.of(
IssuingVelocityLimit.builder()
.interval(IssuingIntervalLimit.DAILY)
.amount(10000L)
.build()))
.build())
.build())
.call();
if (res.issuedCard().isPresent()) {
System.out.println(res.issuedCard().get());
}
}
}| Parameter | Type | Required | Description |
|---|---|---|---|
accountID |
String | ✔️ | The Moov business account for which the card was issued. |
issuedCardID |
String | ✔️ | N/A |
updateIssuedCard |
UpdateIssuedCard | ✔️ | N/A |
| Error Type | Status Code | Content Type |
|---|---|---|
| models/errors/GenericError | 400, 409 | application/json |
| models/errors/UpdateIssuedCardError | 422 | application/json |
| models/errors/APIException | 4XX, 5XX | */* |
Get issued card with PAN, CVV, and expiration.
Only use this endpoint if you have provided Moov with a copy of your PCI attestation of compliance.
To access this endpoint using an access token
you'll need to specify the /accounts/{accountID}/issued-cards.read-secure scope.
package hello.world;
import io.moov.sdk.Moov;
import io.moov.sdk.models.components.Security;
import io.moov.sdk.models.operations.GetFullIssuedCardResponse;
import java.lang.Exception;
public class Application {
public static void main(String[] args) throws Exception {
Moov sdk = Moov.builder()
.security(Security.builder()
.username("")
.password("")
.build())
.build();
GetFullIssuedCardResponse res = sdk.cardIssuing().getFull()
.accountID("512052fb-5e2c-4d24-98dd-fa893c9d8a03")
.issuedCardID("087ecc51-11fe-4471-a3bb-44f20c1e87a9")
.call();
if (res.fullIssuedCard().isPresent()) {
System.out.println(res.fullIssuedCard().get());
}
}
}| Parameter | Type | Required | Description |
|---|---|---|---|
accountID |
String | ✔️ | The Moov business account for which the card was issued. |
issuedCardID |
String | ✔️ | N/A |
| Error Type | Status Code | Content Type |
|---|---|---|
| models/errors/APIException | 4XX, 5XX | */* |