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

# Solicitar saque de subconta

> Cria uma solicitação de saque para a subconta informada (resolvida pelo internalId). Requer header x-idempotency-key.



## OpenAPI

````yaml POST /v1/submerchants/withdrawals
openapi: 3.0.0
info:
  title: UvviPay Public API
  description: >-
    Endpoints públicos da plataforma UvviPay para integração de subcontas
    (submerchants).
  version: 1.0.0
  contact: {}
servers:
  - url: https://api.uvvipay.com.br
    description: Produção
  - url: https://api-staging.uvvipay.com.br
    description: Staging
security:
  - client-id: []
    client-secret: []
tags: []
paths:
  /v1/submerchants/withdrawals:
    post:
      tags:
        - Submerchants
      summary: Solicitar saque de subconta
      description: >-
        Cria uma solicitação de saque para a subconta informada (resolvida pelo
        internalId). Requer header x-idempotency-key.
      operationId: requestSubmerchantWithdrawal
      parameters:
        - name: client-secret
          in: header
          description: Secret da credencial do merchant
          required: true
          schema:
            type: string
        - name: client-id
          in: header
          description: ID público da credencial do merchant
          required: true
          schema:
            type: string
        - name: x-idempotency-key
          in: header
          description: >-
            Chave de idempotência (até 64 caracteres) para deduplicar
            requisições do mesmo client-id
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RequestSubmerchantWithdrawalDto'
      responses:
        '201':
          description: Saque criado (ou recuperado por idempotência).
          content:
            application/json:
              schema:
                type: object
                properties:
                  withdrawId:
                    type: number
                    example: 1234
                  status:
                    type: string
                    example: pending
                    enum:
                      - pending
                      - approved
                      - rejected
                      - error
                      - processing
                      - completed
                      - partial_success
        '400':
          description: Dados inválidos
        '401':
          description: Credenciais inválidas ou ausentes
        '404':
          description: Subconta não encontrada para o merchant autenticado
        '429':
          description: Limite de requisições excedido
components:
  schemas:
    RequestSubmerchantWithdrawalDto:
      type: object
      properties:
        internalId:
          type: string
          format: uuid
          description: Identificador interno (UUID) da subconta.
          example: 5b9f3d6a-3a2c-4d6f-9b9e-0a1b2c3d4e5f
        amount:
          type: integer
          description: Valor do saque em centavos. Mínimo de R$ 50,00 (5000).
          minimum: 5000
          example: 7500
      required:
        - internalId
        - amount
  securitySchemes:
    client-id:
      type: apiKey
      in: header
      name: client-id
    client-secret:
      type: apiKey
      in: header
      name: client-secret

````