> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.givechariot.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.givechariot.com/_mcp/server.

# Create an Inbound transfer

POST https://api.givechariot.com/v1/inbound_transfers
Content-Type: application/json

Create an inbound transfer to fund your financial account
from an externally linked bank account.
In Production, this requires that an external bank account has been setup
and verified for your account through the Chariot Dashboard.

Reference: https://docs.givechariot.com/api/inbound-transfers/create

## Authentication

- `Authorization` header (bearer token, required) — Bearer authentication of the form `Bearer <token>`, where token is your auth token.

## Servers

- `https://api.givechariot.com` (Production, default)
- `https://sandboxapi.givechariot.com` (Sandbox)

## Request

### Headers

- `Idempotency-Key` (string, optional) — The idempotency key for the request

### Body (application/json)

This endpoint expects an object.

- `amount` (double, required) — The amount of the transfer in cents. This amount must be positive.
- `account_id` (string, required) — The identifier of the financial account that will receive the transfer.
- `description` (string, optional) — An arbitrary string attached to the object. Often useful for displaying to users.

## Response

### 201

The inbound transfer was created

- `id` (string, required) — The unique identifier for the inbound transfer
- `amount` (long, required) — The amount of the inbound transfer in minor currency units (cents). This amount must be positive.
- `created_at` (datetime, required) — The date and time the inbound transfer was created
- `description` (string, optional) — An arbitrary string attached to the object. Often useful for displaying to users.
- `status` (enum, optional) — The status of the inbound transfer. An Inbound Transfer is `pending` if it created and the funds haven't been received yet. The status changes to `completed` when the funds have been received and the balance of the financial account has been updated. The status changes to `canceled` if the transfer is canceled. The status changes to `failed` if the transfer fails.
  - Allowed values: `pending`, `completed`, `canceled`, `failed`
- `updated_at` (datetime, optional) — The date and time the inbound transfer was last updated

## Errors

### 400 Bad Request Error

The request is invalid or contains invalid parameters

- `type` (string, required) — A URI reference identifying the problem type.
- `title` (string, required) — A short, human-readable summary of the problem type.
- `status` (integer, required) — The HTTP status code for this error.
- `detail` (string, required) — A human-readable explanation specific to this occurrence.

### 401 Unauthorized Error

Unauthorized. The request is missing the security (OAuth2 Bearer token) requirements and the server is unable to verify the identify of the caller.

- `type` (string, required) — A URI reference identifying the problem type.
- `title` (string, required) — A short, human-readable summary of the problem type.
- `status` (integer, required) — The HTTP status code for this error.
- `detail` (string, required) — A human-readable explanation specific to this occurrence.

### 403 Forbidden Error

Access denied

- `type` (string, required) — A URI reference identifying the problem type.
- `title` (string, required) — A short, human-readable summary of the problem type.
- `status` (integer, required) — The HTTP status code for this error.
- `detail` (string, required) — A human-readable explanation specific to this occurrence.

### 409 Conflict Error

Resource Conflicts

- `type` (string, required) — A URI reference identifying the problem type.
- `title` (string, required) — A short, human-readable summary of the problem type.
- `status` (integer, required) — The HTTP status code for this error.
- `detail` (string, required) — A human-readable explanation specific to this occurrence.

### 500 Internal Server Error

Internal Server Error

- `type` (string, required) — A URI reference identifying the problem type.
- `title` (string, required) — A short, human-readable summary of the problem type.
- `status` (integer, required) — The HTTP status code for this error.
- `detail` (string, required) — A human-readable explanation specific to this occurrence.

## Examples

**Request**

```json
{
  "amount": 10000,
  "account_id": "account_01jpjenf5q6cawy43yxfcrxhct"
}
```

**Response**

```json
{
  "id": "inbound_transfer_01j8rs605a4gctmbm58d87mvsj",
  "amount": 10000,
  "created_at": "2020-01-31T23:00:00Z",
  "description": "InboundTransfer from my bank account",
  "status": "pending",
  "updated_at": "2020-01-31T23:00:00Z"
}
```