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

# Enviar transferência Pix automaticamente

> Exige transfers. A API key autoriza o envio sem código de e-mail. amountCents é o débito bruto com taxa incluída, mínimo 1000. Retorna debitAmountCents e expectedNetAmountCents. Preserve requestKey e consulte o mesmo ID em caso de resultado incerto. Bloqueios de saque e isolamento por negócio continuam aplicáveis.



## OpenAPI

````yaml /openapi.yaml post /pix/transfers
openapi: 3.1.0
info:
  title: Master API
  version: 1.1.0
  description: >-
    API pública da Master para cobranças Pix, cartão e transferências Pix
    automáticas. Valores em centavos inteiros.
servers:
  - url: https://api.pagmaster.site/api/v1/public
    description: Produção, após configurar DNS e HTTPS
  - url: http://127.0.0.1:4000/api/v1/public
    description: Desenvolvimento local
security:
  - bearerAuth: []
tags:
  - name: Conta
    description: Saldo e limites da conta
  - name: Pagamentos
    description: Consulta de operações
  - name: Cobranças Pix
    description: Criação de cobranças
  - name: Transferências Pix
    description: Envios automáticos autorizados por API key
  - name: Operações de negócio
    description: Até 10 negócios com saldos e históricos independentes
  - name: Cartão de crédito
    description: Checkout hospedado e consulta de aprovação e liquidação
paths:
  /pix/transfers:
    parameters:
      - $ref: '#/components/parameters/BusinessOperationHeader'
    post:
      tags:
        - Transferências Pix
      summary: Enviar transferência Pix automaticamente
      description: >-
        Exige transfers. A API key autoriza o envio sem código de e-mail.
        amountCents é o débito bruto com taxa incluída, mínimo 1000. Retorna
        debitAmountCents e expectedNetAmountCents. Preserve requestKey e
        consulte o mesmo ID em caso de resultado incerto. Bloqueios de saque e
        isolamento por negócio continuam aplicáveis.
      operationId: preparePixTransfer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTransfer'
            example:
              amountCents: 5000
              pixKey: recebedor@exemplo.com
              pixKeyType: EMAIL
              description: Repasse
              requestKey: 4b2acc8a-b838-4640-956b-131da49588a4
      responses:
        '201':
          description: Envio solicitado; consulte pending, unknown ou completed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentOperation'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/RateLimit'
        '503':
          $ref: '#/components/responses/Unavailable'
components:
  parameters:
    BusinessOperationHeader:
      name: X-Master-Operation
      in: header
      required: false
      description: >-
        UUID do negócio selecionado. Sem este header, utiliza a operação
        principal.
      schema:
        type: string
        format: uuid
  schemas:
    CreateTransfer:
      type: object
      additionalProperties: false
      required:
        - amountCents
        - pixKey
        - pixKeyType
        - description
        - requestKey
      properties:
        amountCents:
          type: integer
          minimum: 1000
          maximum: 1000000
          description: Total descontado do saldo, incluindo a taxa do saque
        pixKey:
          type: string
          minLength: 3
          maxLength: 150
        pixKeyType:
          type: string
          enum:
            - EMAIL
            - CPF
            - CNPJ
            - PHONE
            - RANDOM
        description:
          type: string
          maxLength: 80
        requestKey:
          type: string
          format: uuid
    PaymentOperation:
      type: object
      required:
        - id
        - kind
        - amountCents
        - status
        - createdAt
        - operationId
        - feeCents
        - updatedAt
        - settledAt
        - paymentMethod
        - expiresAt
      properties:
        id:
          type: string
          format: uuid
        kind:
          type: string
          enum:
            - deposit
            - transfer
        amountCents:
          type: integer
        status:
          type: string
          enum:
            - draft
            - unknown
            - pending
            - paid
            - completed
            - failed
            - expired
            - cancelled
        createdAt:
          type: string
          format: date-time
        copyPaste:
          type: string
          description: Código Pix copia e cola quando fornecido pelo provedor
        qrCodeBase64:
          type: string
          description: Data URL PNG com QR Code quando fornecida pelo provedor
        endToEnd:
          type: string
        notice:
          type: string
        operationId:
          type: string
          format: uuid
          description: Identificador do negócio
        feeCents:
          type:
            - integer
            - 'null'
          minimum: 0
          description: Tarifa da conta registrada na criação
        updatedAt:
          type: string
          format: date-time
        settledAt:
          type:
            - string
            - 'null'
          format: date-time
        providerFeeCents:
          type: integer
          minimum: 0
          description: Tarifa confirmada pelo processamento quando informada
        netAmountCents:
          type: integer
          minimum: 0
          description: Valor líquido confirmado pelo processamento quando informado
        debitAmountCents:
          type: integer
          minimum: 1000
          description: Débito bruto do novo saque, com a tarifa da conta incluída
        expectedNetAmountCents:
          type: integer
          minimum: 1
          description: >-
            Líquido previsto do saque ou cartão: valor bruto menos tarifa da
            conta
        paymentMethod:
          type:
            - string
            - 'null'
          enum:
            - pix
            - card
            - null
        expiresAt:
          type:
            - string
            - 'null'
          format: date-time
          description: Prazo do provedor, null quando não informado
        paidAt:
          type: string
          format: date-time
        checkoutUrl:
          type: string
          format: uri
          description: Checkout hospedado, somente cartão
        releaseAt:
          type: string
          format: date-time
          description: Liberação informada pela liquidante
        cardSettlementStatus:
          type: string
          enum:
            - held
            - available
        card:
          $ref: '#/components/schemas/CardDetails'
    CardDetails:
      type:
        - object
        - 'null'
      additionalProperties: false
      properties:
        status:
          type: string
          enum:
            - processing
            - paid
            - refused
        brand:
          type: string
          enum:
            - visa
            - mastercard
            - elo
            - amex
            - hipercard
            - other
        last4:
          type:
            - string
            - 'null'
          pattern: ^\d{4}$
        installments:
          type: integer
          const: 1
        refusedReason:
          type:
            - string
            - 'null'
          maxLength: 300
        attemptsLeft:
          type:
            - integer
            - 'null'
          minimum: 0
          maximum: 3
    Error:
      type: object
      properties:
        statusCode:
          type: integer
        message:
          oneOf:
            - type: string
            - type: array
              items:
                type: string
  responses:
    BadRequest:
      description: Dados inválidos ou conflito de idempotência
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: API key ausente, inválida ou revogada
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Forbidden:
      description: Permissão insuficiente
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: Operação não encontrada nesta conta
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    RateLimit:
      description: Limite temporário de requisições
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unavailable:
      description: >-
        Processamento indisponível; preserve a referência e consulte a mesma
        operação antes de repetir.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: API key criada em Integrações → Keys. Exemplo `mk_live_...`.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.