---
title: "Create Bulk Transfer Invites"
method: POST
path: "/api/agents/transfer/bulk-invite"
tags: ["agent-transfer"]
---

# Create Bulk Transfer Invites

`POST /api/agents/transfer/bulk-invite`

## Request

- Base URL: `https://api.tintin-x.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.tintin-x.com/api/agents/transfer/bulk-invite`
- Auth: HTTP bearer

Create N invitations atomically (per-agent), then send ONE email + notification.

Per-agent failures are surfaced in `failed[]` rather than aborting the
whole batch — partial success is friendlier than rolling back invites
that already succeeded.

## Request body

- BulkTransferInviteCreate: Send invitations for multiple agents to the same recipient. `include_all_resources=True` means every transferable resource the sender owns and the agent depends on travels with it. To opt out of specific resources, use the per-agent flow instead.
  - `to_email` string, email, required
  - `agent_ids` string[], required
  - `message` string, nullable
  - `include_all_resources` boolean

## Response `201`

Successful Response

- BulkTransferInviteResult
  - `invites` TransferInviteResponse[]
    - `id` string, uuid, required
    - `agent_id` string, uuid, required
    - `from_user_id` string, uuid, required
    - `from_user_email` string, nullable
    - `to_email` string, required
    - `to_user_id` string, uuid, nullable
    - `message` string, nullable
    - `selections` object, required
    - `status` string, required
    - `expires_at` string, date-time, required
    - `created_at` string, date-time, required
    - `accepted_at` string, date-time, nullable
    - `declined_at` string, date-time, nullable
    - `cancelled_at` string, date-time, nullable
    - `agent_name` string, nullable
    - `preview` TransferPreview: What sender sees before creating an invitation.
      - `agent_id` string, uuid, required
      - `to_email` string, required
      - `recipient_exists` boolean, required
      - `recipient_team_id` string, uuid, nullable
      - `same_user` boolean
      - `vault_credentials` TransferableResource[]
        - `id` string, uuid, required
        - `label` string, required
        - `detail` string, nullable
        - `team_owned` boolean
      - `bitables` TransferableResource[]
        - `id` string, uuid, required
        - `label` string, required
        - `detail` string, nullable
        - `team_owned` boolean
      - `bitable_templates` TransferableResource[]
        - `id` string, uuid, required
        - `label` string, required
        - `detail` string, nullable
        - `team_owned` boolean
      - `storage_files` TransferableResource[]
        - `id` string, uuid, required
        - `label` string, required
        - `detail` string, nullable
        - `team_owned` boolean
      - `storage_folders` TransferableResource[]
        - `id` string, uuid, required
        - `label` string, required
        - `detail` string, nullable
        - `team_owned` boolean
      - `elements` TransferableResource[]
        - `id` string, uuid, required
        - `label` string, required
        - `detail` string, nullable
        - `team_owned` boolean
      - `skill_forks` TransferableResource[]
        - `id` string, uuid, required
        - `label` string, required
        - `detail` string, nullable
        - `team_owned` boolean
      - `datahub_jobs` TransferableResource[]
        - `id` string, uuid, required
        - `label` string, required
        - `detail` string, nullable
        - `team_owned` boolean
      - `user_scoped_memories` TransferableResource[]
        - `id` string, uuid, required
        - `label` string, required
        - `detail` string, nullable
        - `team_owned` boolean
      - `oauth_services` TransferableResource[]
        - `id` string, uuid, required
        - `label` string, required
        - `detail` string, nullable
        - `team_owned` boolean
      - `caveats` TransferCaveat[]
        - `code` string, required
        - `message` string, required
  - `failed` BulkTransferInviteFailure[]
    - `agent_id` string, uuid, required
    - `error` string, required
  - `to_email` string, required

## Other responses

- `422`: Validation Error

---

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