Retrieve a transfer | Moov Documentation

Retrieve a transfer

Retrieve full transfer details for an individual transfer of a particular Moov account.

Payment rail-specific details are included in the source and destination. Read our transfers overview guide to learn more.

To access this endpoint using an access token you'll need to specify the /accounts/{accountID}/transfers.read scope.

GET

/accounts/{accountID}/transfers/{transferID}

Ask

curl -X GET "https://api.moov.io/accounts/{accountID}/transfers/{transferID}" \
  -H "Authorization: Bearer {token}" \
  -H "X-Moov-Version: v2026.04.00"

Ask

mc, _ := moov.NewClient()

var accountID string
var transferID string

mc.GetTransfer(ctx, accountID, transferID)

Ask

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

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

async function run() {
  const result = await moov.transfers.get({
    transferID: "960cf5a2-50a3-4914-ad86-d54c022bf5df",
    accountID: "31113f7b-9f68-44e9-9338-6d8e655c7c96",
  });

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();

$response = $sdk->transfers->get(
    transferID: '960cf5a2-50a3-4914-ad86-d54c022bf5df',
    accountID: '31113f7b-9f68-44e9-9338-6d8e655c7c96'
);

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

Ask

package hello.world;

import io.moov.sdk.Moov;
import io.moov.sdk.models.components.Security;
import io.moov.sdk.models.operations.GetTransferResponse;
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();

GetTransferResponse res = sdk.transfers().get()
                .transferID("960cf5a2-50a3-4914-ad86-d54c022bf5df")
                .accountID("31113f7b-9f68-44e9-9338-6d8e655c7c96")
                .call();

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

Ask

from moovio_sdk import Moov
from moovio_sdk.models import components

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

res = moov.transfers.get(transfer_id="960cf5a2-50a3-4914-ad86-d54c022bf5df", account_id="31113f7b-9f68-44e9-9338-6d8e655c7c96")

# Handle response
    print(res)

Ask

require 'moov_ruby'

Models = ::Moov::Models
s = ::Moov::Client.new(
  security: Models::Components::Security.new(
    username: '',
    password: ''
  )
)
res = s.transfers.get(transfer_id: '960cf5a2-50a3-4914-ad86-d54c022bf5df', account_id: '31113f7b-9f68-44e9-9338-6d8e655c7c96')

unless res.transfer.nil?
  # handle response
end

Ask

using Moov.Sdk;
using Moov.Sdk.Models.Components;

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

var res = await sdk.Transfers.GetAsync(
    transferID: "960cf5a2-50a3-4914-ad86-d54c022bf5df",
    accountID: "31113f7b-9f68-44e9-9338-6d8e655c7c96"
);

// handle response

Example

{
  "amount": {
    "currency": "USD",
    "value": 32945
  },
  "amountDetails": {
    "tip": {
      "currency": "USD",
      "valueDecimal": "3.50"
    }
  },
  "createdOn": "2025-01-21T21:32:16Z",
  "description": "Transfer from card to wallet",
  "destination": {
    "account": {
      "accountID": "34233b72-780c-4a0d-8b08-cbbe23k878f8",
      "displayName": "Whole Body Fitness",
      "email": "john@wholebodyfitness.io"
    },
    "paymentMethodID": "3f9969cf-a1f3-4d83-8ddc-229a506651cf",
    "paymentMethodType": "moov-wallet",
    "wallet": {
      "partnerAccountID": "65b57f28-49e9-4afb-9bf6-7e4fb6444917",
      "walletID": "744b2e78-8cc8-4a6a-af42-611e3b844503",
      "walletType": "general"
    }
  },
  "moovFees": [
    {
      "accountID": "7e4b26c2-b399-49ef-8390-50e1ea44d550",
      "feeIDs": [
        "9d957d33-1a9a-47aa-9460-fe1a90f003dd"
      ],
      "totalAmount": {
        "currency": "USD",
        "valueDecimal": "0.1"
      },
      "transferParty": "source"
    }
  ],
  "source": {
    "account": {
      "accountID": "7e4b26c2-b399-49ef-8390-50e1ea44d550",
      "displayName": "Jules Jackson",
      "email": "jules@julesjackson.com"
    },
    "card": {
      "billingAddress": {
        "postalCode": "80301"
      },
      "bin": "400020",
      "brand": "Visa",
      "cardAccountUpdater": {},
      "cardID": "aefd5563-93c6-413c-875e-1bd0ebfc116d",
      "cardType": "credit",
      "cardVerification": {
        "accountName": {
          "firstName": "unavailable",
          "fullName": "unavailable",
          "lastName": "unavailable",
          "middleName": "unavailable"
        },
        "addressLine1": "unavailable",
        "cvv": "unavailable",
        "postalCode": "unavailable"
      },
      "domesticPullFromCard": "supported",
      "domesticPushToCard": "standard",
      "expiration": {
        "month": "01",
        "year": "28"
      },
      "fingerprint": "2f5d782ceef1c3bd31ed5...",
      "holderName": "Jules Jackson",
      "issuer": "Moov Visa Sandbox",
      "issuerCountry": "US",
      "lastFourCardNumber": "2000"
    },
    "cardDetails": {
      "confirmedOn": "2025-01-21T21:32:16.799681237Z",
      "dynamicDescriptor": "WhlBdy *Yoga 11-12",
      "status": "confirmed"
    },
    "paymentMethodID": "9506dbf6-4208-44c3-ad8a-e4431660e1f2",
    "paymentMethodType": "card-payment"
  },
  "status": "pending",
  "transferID": "d835gf30-4b19-4850-a9b2-c0624c41ecb3"
}