Update a spending card | Moov Documentation

Update a spending card

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.

PATCH

/issuing/{accountID}/cards/{issuedCardID}

Ask

curl -X PATCH "https://api.moov.io/issuing/{accountID}/cards/{issuedCardID}" \
  -H "Authorization: Bearer {token}" \
  -H "X-Moov-Version: v2026.04.00"

Ask

import { Moov } from "@moovio/sdk";

const moov = new Moov({
  security: {
    username: "",
    password: "",
  },
});

async function run() {
  const result = await moov.cardIssuing.update({
    accountID: "44db31bc-2813-424b-9b8c-2d3f5f1300e3",
    issuedCardID: "69ca2a7e-7bbc-4176-9d0c-2a1aa7143006",
    updateIssuedCard: {
      metadata: {
        "optional": "metadata",
      },
      billingAddress: {
        addressLine1: "123 Main Street",
        addressLine2: "Apt 302",
        city: "Boulder",
        stateOrProvince: "CO",
        postalCode: "80301",
        country: "US",
      },
    },
  });

console.log(result);
}

run();

Ask

declare(strict_types=1);

require 'vendor/autoload.php';

use Moov\MoovPhp;
use Moov\MoovPhp\Models\Components;

$sdk = MoovPhp\Moov::builder()
    ->setSecurity(
        new Components\Security(
            username: '',
            password: '',
        )
    )
    ->build();

$updateIssuedCard = new Components\UpdateIssuedCard(
    metadata: [\
        'optional' => 'metadata',\
    ],
    billingAddress: new Components\BillingAddress(
        addressLine1: '123 Main Street',
        addressLine2: 'Apt 302',
        city: 'Boulder',
        stateOrProvince: 'CO',
        postalCode: '80301',
        country: 'US',
    ),
);

$response = $sdk->cardIssuing->update(
    accountID: '44db31bc-2813-424b-9b8c-2d3f5f1300e3',
    issuedCardID: '69ca2a7e-7bbc-4176-9d0c-2a1aa7143006',
    updateIssuedCard: $updateIssuedCard
);

if ($response->issuedCard !== null) {
    // handle response
}

Ask

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.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())
                    .build())
                .call();

if (res.issuedCard().isPresent()) {
            System.out.println(res.issuedCard().get());
        }
    }
}

Ask

from moovio_sdk import Moov
from moovio_sdk.models import components

with Moov(
    security=components.Security(
        username="",
        password="",
    ),
) as moov:

res = moov.card_issuing.update(account_id="44db31bc-2813-424b-9b8c-2d3f5f1300e3", issued_card_id="69ca2a7e-7bbc-4176-9d0c-2a1aa7143006", metadata={
        "optional": "metadata",
    }, billing_address={
        "address_line1": "123 Main Street",
        "address_line2": "Apt 302",
        "city": "Boulder",
        "state_or_province": "CO",
        "postal_code": "80301",
        "country": "US",
    })

# Handle response
    print(res)

Ask

require 'moov_ruby'

Models = ::Moov::Models
s = ::Moov::Client.new(
  security: Models::Components::Security.new(
    username: '',
    password: ''
  )
)
res = s.card_issuing.update(account_id: '44db31bc-2813-424b-9b8c-2d3f5f1300e3', issued_card_id: '69ca2a7e-7bbc-4176-9d0c-2a1aa7143006', update_issued_card: Models::Components::UpdateIssuedCard.new(
  metadata: {
    'optional' => 'metadata',
  },
  billing_address: Models::Components::BillingAddress.new(
    address_line1: '123 Main Street',
    address_line2: 'Apt 302',
    city: 'Boulder',
    state_or_province: 'CO',
    postal_code: '80301',
    country: 'US'
  )
))

unless res.issued_card.nil?
  # handle response
end

Ask

using Moov.Sdk;
using Moov.Sdk.Models.Components;
using System.Collections.Generic;

var sdk = new MoovClient(security: new Security() {
    Username = "",
    Password = "",
});

var res = await sdk.CardIssuing.UpdateAsync(
    accountID: "44db31bc-2813-424b-9b8c-2d3f5f1300e3",
    issuedCardID: "69ca2a7e-7bbc-4176-9d0c-2a1aa7143006",
    body: new UpdateIssuedCard() {
        Metadata = new Dictionary<string, string>() {
            { "optional", "metadata" },
        },
        BillingAddress = new BillingAddress() {
            AddressLine1 = "123 Main Street",
            AddressLine2 = "Apt 302",
            City = "Boulder",
            StateOrProvince = "CO",
            PostalCode = "80301",
            Country = "US",
        },
    }
);

// handle response

The request completed successfully.

Example

{
  "issuedCardID": "string",
  "brand": "Visa",
  "lastFourCardNumber": "string",
  "expiration": {
    "month": "01",
    "year": "21"
  },
  "fundingWalletID": "string",
  "authorizedUserAccountID": "string",
  "nickname": "string",
  "metadata": {
    "optional": "metadata"
  },
  "billingAddress": {
    "addressLine1": "123 Main Street",
    "addressLine2": "Apt 302",
    "city": "Boulder",
    "stateOrProvince": "CO",
    "postalCode": "80301",
    "country": "US"
  },
  "state": "active",
  "formFactor": "virtual",
  "controls": {
    "singleUse": true,
    "velocityLimits": [
      {
        "amount": 10000,
        "interval": "per-transaction"
      }
    ]
  },
  "createdOn": "2019-08-24T14:15:22Z",
  "updatedOn": "2019-08-24T14:15:22Z"
}

Response headers

A unique identifier used to trace requests.

Example

{
  "error": "string"
}

Response headers

A unique identifier used to trace requests.

Example

{
  "state": "string",
  "nickname": "string",
  "metadata": "string",
  "billingAddress": {
    "addressLine1": "string",
    "addressLine2": "string",
    "city": "string",
    "stateOrProvince": "string",
    "postalCode": "string",
    "country": "string"
  }
}

Response headers

A unique identifier used to trace requests.