---
title: "Retrieve an Internal Transfer"
method: GET
path: "/v1/internal-transfers/{transferId}"
tags: ["Accounts and money"]
---

# Retrieve an Internal Transfer

`GET /v1/internal-transfers/{transferId}`

## Request

- Base URL: `https://hyperscale0.ai`
- URL: `https://hyperscale0.ai/v1/internal-transfers/{transferId}`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

Retrieve a single Internal Transfer by its transferId. Money moving between two Hyperscale Accounts. It never crosses the provider boundary, and a reserved transfer holds the funds until it is posted or expires.

## Path parameters

- `transferId` string, required

## Query parameters

- `productId` string: Hyperscale product ID

## Headers

- `X-Hyperscale-Environment` 'sandbox' | 'live'

## Response `200`

Success

- InternalTransferRetrieveOutput
  - `transferId` string, required: Hyperscale transfer ID
  - `tenantId` string, required: Organization tenant ID
  - `amount` string: Non-negative minor-unit integer amount serialized as a string (at most 18 digits)
  - `postedAmount` string: Non-negative minor-unit integer amount serialized as a string (at most 18 digits)
  - `currency` string
  - `sourceAccountId` string: Hyperscale account ID
  - `destinationAccountId` string: Hyperscale account ID
  - `status` 'settled' | 'reversed' | 'accepted' | 'reserved' | 'posted' | 'voided' | 'failed'
  - `expiresAt` string, date-time
  - `expiredAt` string, date-time
  - `metadata` Metadata (unresolved $ref)
  - `correctsTransferId` string: Hyperscale transfer ID
  - `operationId` string: Hyperscale operation ID
  - `productName` string
  - `accountLabel` string
  - `ownerName` string
  - `sourceName` string
  - `destinationName` string
  - `record` object
    - `productId` string, required: Hyperscale product ID
    - `kind` string, required
    - `objectId` string, required
    - `title` string, required
  - `createdAt` string, date-time
  - `postedInRangeAmount` string: Non-negative minor-unit integer amount serialized as a string (at most 18 digits)
  - `recordedAt` string, date-time: Set only on a sandbox transfer dated on its Product's clock: the wall time Hyperscale recorded it. createdAt is then the Product's business time, which runs ahead of today once the Product's sandbox clock is advanced.

## Other responses

- `default`: ErrorResponse. See x-error-codes and x-errors for codes, HTTP statuses and retry guidance.

---

[API](https://skmtc.dev/hyperscale0/apis/hyperscale-product-api.md) · [All operations](https://skmtc.dev/hyperscale0/apis/hyperscale-product-api/llms.txt) · [OpenAPI document](https://skmtc.dev/hyperscale0/apis/hyperscale-product-api/revisions/e9e8faa044d5?raw)
