---
title: "List a team's space transfers"
method: GET
path: "/v1/space-transfers"
tags: ["Spaces"]
---

# List a team's space transfers

`GET /v1/space-transfers`

## Request

- Base URL: `https://api.spacefast.com`
- URL: `https://api.spacefast.com/v1/space-transfers`
- Auth: HTTP bearer

Returns the team's transfers in both directions, newest-first, annotated `outgoing` or `incoming` and carrying a space summary the receiving side can render before accepting. Pending transfers only unless a status filter says otherwise; at most the newest 100 return.

## Query parameters

- `team` string, required: Team id or slug whose transfers to list. The caller must hold transfer authority on it.
- `spaceId` string: Filter to transfers of one space (`spc_`).
- `status` 'pending_confirmation' | 'completed' | 'canceled' | 'expired': Filter by transfer state. Omitted, only `pending_confirmation` transfers return.

## Response `200`

Response for status 200

- object
  - `$schema` string, uri: Canonical JSON Schema URL for this response body. The server also sends it in the `Link: rel="describedby"` response header.
  - `data` object[], required
    - `id` string, required: SpaceTransfer id (`trf_`).
    - `spaceId` string, required: Space being transferred.
    - `from` object, required: Current owner. Keeps full control, serving, and billing attribution until `completed`.
      - `principalType` 'team' | 'external', required: Receiving principal kind: a first-party team or a host-managed external principal.
      - `principalId` string, required: Tenant-local principal id: a team id or an integrator external customer id.
      - `tenantId` string, required: Tenant both transfer parties live in.
    - `to` object, required: Receiving principal. Accept is a to-side action.
      - `principalType` 'team' | 'external', required: Receiving principal kind: a first-party team or a host-managed external principal.
      - `principalId` string, required: Tenant-local principal id: a team id or an integrator external customer id.
      - `tenantId` string, required: Tenant both transfer parties live in.
    - `status` 'pending_confirmation' | 'completed' | 'canceled' | 'expired', required: Transfer state. Accepting moves ownership in one transaction, so a transfer is either still `pending_confirmation` or already terminal.
    - `expiresAt` string, date-time, required: Instant when a pending transfer expires (default 7 days).
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
    - `direction` 'outgoing' | 'incoming', required: Whether the queried team is sending (`outgoing`) or receiving (`incoming`).
    - `space` object, required: Summary of the space under transfer.
      - `id` string, required
      - `slug` string, required
      - `title` string, required
    - `fromDisplayName` string, nullable, required: Sending team's name; null when the sender is an external principal.
    - `toDisplayName` string, nullable, required: Receiving team's name; null when the receiver is an external principal.

## Other responses

- `default`: Problem details (RFC 9457). Any 4xx/5xx response is one `application/problem+json` document.

---

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