> ## Documentation Index
> Fetch the complete documentation index at: https://docs.en.amplopay.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Pix transfer

> Create a transfer or withdrawal via Pix

Creates a transfer or withdrawal via Pix.

## Body parameters

<ParamField body="identifier" type="string" required>
  Transfer identifier in your application.
</ParamField>

<ParamField body="amount" type="number" required>
  Transfer amount in BRL.
</ParamField>

<ParamField body="discountFeeOfReceiver" type="boolean">
  If `false`, the withdrawal fee is not deducted from the receiver.
</ParamField>

<ParamField body="pix" type="object" required>
  Receiver Pix key data.
</ParamField>

<ParamField body="pix.type" type="enum" required>
  Pix key type. Supported values include `cpf`, `cnpj`, `email`, `phone`, and `random`.
</ParamField>

<ParamField body="pix.key" type="string" required>
  Receiver Pix key.
</ParamField>

<ParamField body="owner" type="object" required>
  Account owner information.
</ParamField>

<ParamField body="owner.ip" type="string" required>
  IPv4 of the user performing the transfer. It must be different from the application IP.
</ParamField>

<ParamField body="owner.name" type="string" required>
  Account owner's name, without accents.
</ParamField>

<ParamField body="owner.document" type="object" required>
  Account owner's document.
</ParamField>

<ParamField body="owner.document.type" type="enum" required>
  Document type. Supported values include `cpf` and `cnpj`.
</ParamField>

<ParamField body="owner.document.number" type="string" required>
  Document number.
</ParamField>

<ParamField body="callbackUrl" type="string" required>
  URL for transfer update notifications.
</ParamField>

## Request example

<RequestExample>
  ```bash theme={null}
  curl --request POST \
    --url https://app.amplopay.com/api/v1/gateway/transfers \
    --header 'Content-Type: application/json' \
    --header 'x-public-key: SUA_CHAVE_PUBLICA_AQUI' \
    --header 'x-secret-key: SUA_CHAVE_PRIVADA_AQUI' \
    --data '{
      "identifier": "identifier123",
      "callbackUrl": "https://example.com/webhooks/transfer",
      "amount": 1000,
      "discountFeeOfReceiver": false,
      "pix": {
        "type": "email",
        "key": "cliente@email.com"
      },
      "owner": {
        "ip": "192.168.0.1",
        "name": "Nome do Cliente",
        "document": {
          "type": "cpf",
          "number": "123.456.789-00"
        }
      }
    }'
  ```
</RequestExample>

## Payload example

```json theme={null}
{
  "identifier": "identifier123",
  "callbackUrl": "https://example.com/webhooks/transfer",
  "amount": 1000,
  "discountFeeOfReceiver": false,
  "pix": {
    "type": "email",
    "key": "cliente@email.com"
  },
  "owner": {
    "ip": "192.168.0.1",
    "name": "Nome do Cliente",
    "document": {
      "type": "cpf",
      "number": "123.456.789-00"
    }
  }
}
```

## Response

<ResponseField name="webhookToken" type="string" required>
  Token used to validate transfer webhook notifications.
</ResponseField>

<ResponseField name="withdraw" type="object" required>
  Withdrawal information.
</ResponseField>

<ResponseField name="payoutAccount" type="object" required>
  Payout account information.
</ResponseField>

<ResponseField name="receiptUrl" type="string">
  Withdrawal receipt URL.
</ResponseField>

<ResponseExample>
  ```json theme={null}
  {
    "webhookToken": "webhookToken123",
    "withdraw": {
      "id": "withdraw123",
      "amount": 1000,
      "feeAmount": 10,
      "currency": "BRL",
      "status": "PENDING",
      "createdAt": "2026-08-20T00:00:00.000Z",
      "updatedAt": "2026-08-20T00:00:00.000Z"
    },
    "payoutAccount": {
      "id": "payoutAccount123",
      "status": "ACTIVE",
      "pix": "produtor@email.com",
      "pixType": "email",
      "createdAt": "2026-08-20T00:00:00.000Z",
      "updatedAt": "2026-08-20T00:00:00.000Z",
      "deletedAt": null
    },
    "receiptUrl": "https://example.com/withdraws/cmen9ufoa00002v6oi1zo8x3f/receipt"
  }
  ```
</ResponseExample>
