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

# Retrieve withdrawal

> Retrieves the details of an existing withdrawal.

Required permissions:
 - `payout:withdrawal:read`
 - `payout:destination:read`



## OpenAPI

````yaml /openapi/api-v1-stable.json get /withdrawals/{id}
openapi: 3.1.0
info:
  description: >-
    The Whop REST API. Please see
    https://docs.whop.com/developer/api/getting-started for more details.
  termsOfService: https://whop.com/tos-developer-api/
  title: Whop API
  version: 1.0.0
  x-api-version-date: 2026-07-08-1
servers:
  - description: Production Whop API
    url: https://api.whop.com/api/v1
  - description: Sandbox Whop API
    url: https://sandbox-api.whop.com/api/v1
security: []
tags:
  - description: Products
    name: Products
  - description: Payments
    name: Payments
  - description: Refunds
    name: Refunds
  - description: Disputes
    name: Disputes
  - description: Dispute alerts
    name: Dispute alerts
  - description: Resolution center cases
    name: Resolution center cases
  - description: Checkout configurations
    name: Checkout configurations
  - description: Setup intents
    name: Setup intents
  - description: Payment methods
    name: Payment methods
  - description: Invoices
    name: Invoices
  - description: Promo codes
    name: Promo codes
  - description: Card transactions
    name: Card transactions
  - description: Ledger accounts
    name: Ledger accounts
  - description: Withdrawals
    name: Withdrawals
  - description: Payout methods
    name: Payout methods
  - description: Verifications
    name: Verifications
  - description: Identity profiles
    name: Identity profiles
  - description: Payout accounts
    name: Payout accounts
  - description: Topups
    name: Topups
  - description: Companies
    name: Companies
  - description: Authorized users
    name: Authorized users
  - description: Fee markups
    name: Fee markups
  - description: Members
    name: Members
  - description: Memberships
    name: Memberships
  - description: Leads
    name: Leads
  - description: Entries
    name: Entries
  - description: Shipments
    name: Shipments
  - description: Reviews
    name: Reviews
  - description: Company token transactions
    name: Company token transactions
  - description: Affiliates
    name: Affiliates
  - description: Experiences
    name: Experiences
  - description: Forums
    name: Forums
  - description: Forum posts
    name: Forum posts
  - description: Chat channels
    name: Chat channels
  - description: Support channels
    name: Support channels
  - description: Messages
    name: Messages
  - description: Reactions
    name: Reactions
  - description: Dm members
    name: Dm members
  - description: Dm channels
    name: Dm channels
  - description: Notifications
    name: Notifications
  - description: Courses
    name: Courses
  - description: Course chapters
    name: Course chapters
  - description: Course lessons
    name: Course lessons
  - description: Course students
    name: Course students
  - description: Course lesson interactions
    name: Course lesson interactions
  - description: Apps
    name: Apps
  - description: Webhooks
    name: Webhooks
  - description: App builds
    name: App builds
  - description: Access tokens
    name: Access tokens
  - description: Account links
    name: Account links
  - description: Files
    name: Files
  - description: Ai chats
    name: Ai chats
  - description: Bounties
    name: Bounties
  - description: Stats
    name: Stats
  - description: Conversions
    name: Conversions
  - description: Ad reports
    name: Ad reports
paths:
  /withdrawals/{id}:
    get:
      tags:
        - Withdrawals
      summary: Retrieve withdrawal
      description: |-
        Retrieves the details of an existing withdrawal.

        Required permissions:
         - `payout:withdrawal:read`
         - `payout:destination:read`
      operationId: retrieveWithdrawal
      parameters:
        - description: The unique identifier of the withdrawal to retrieve.
          in: path
          name: id
          required: true
          schema:
            example: wdrl_xxxxxxxxxxxxx
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Withdrawal'
          description: A successful response
        '400':
          content:
            application/json:
              example:
                error:
                  code: parameter_missing
                  message: 'Missing required parameter: amount.'
                  param: amount
                  type: invalid_request_error
              schema:
                properties:
                  error:
                    properties:
                      code:
                        description: >-
                          A short string indicating the specific error code,
                          e.g. 'parameter_missing', 'parameter_invalid',
                          'invalid_json'
                        type:
                          - string
                          - 'null'
                      message:
                        type: string
                      param:
                        description: The parameter that caused the error, if applicable
                        type:
                          - string
                          - 'null'
                      type:
                        type: string
                    required:
                      - type
                      - message
                    type: object
                required:
                  - error
                type: object
          description: Bad request
        '401':
          content:
            application/json:
              example:
                error:
                  message: Invalid or missing API key
                  type: unauthorized
              schema:
                properties:
                  error:
                    properties:
                      code:
                        description: >-
                          A short string indicating the specific error code,
                          e.g. 'parameter_missing', 'parameter_invalid',
                          'invalid_json'
                        type:
                          - string
                          - 'null'
                      message:
                        type: string
                      param:
                        description: The parameter that caused the error, if applicable
                        type:
                          - string
                          - 'null'
                      type:
                        type: string
                    required:
                      - type
                      - message
                    type: object
                required:
                  - error
                type: object
          description: Unauthorized
        '403':
          content:
            application/json:
              example:
                error:
                  message: You do not have permission to access this resource
                  type: forbidden
              schema:
                properties:
                  error:
                    properties:
                      code:
                        description: >-
                          A short string indicating the specific error code,
                          e.g. 'parameter_missing', 'parameter_invalid',
                          'invalid_json'
                        type:
                          - string
                          - 'null'
                      message:
                        type: string
                      param:
                        description: The parameter that caused the error, if applicable
                        type:
                          - string
                          - 'null'
                      type:
                        type: string
                    required:
                      - type
                      - message
                    type: object
                required:
                  - error
                type: object
          description: Forbidden
        '404':
          content:
            application/json:
              example:
                error:
                  message: Resource not found
                  type: not_found
              schema:
                properties:
                  error:
                    properties:
                      code:
                        description: >-
                          A short string indicating the specific error code,
                          e.g. 'parameter_missing', 'parameter_invalid',
                          'invalid_json'
                        type:
                          - string
                          - 'null'
                      message:
                        type: string
                      param:
                        description: The parameter that caused the error, if applicable
                        type:
                          - string
                          - 'null'
                      type:
                        type: string
                    required:
                      - type
                      - message
                    type: object
                required:
                  - error
                type: object
          description: Not found
        '422':
          content:
            application/json:
              example:
                error: null
              schema:
                properties:
                  error:
                    properties:
                      code:
                        description: >-
                          A short string indicating the specific error code,
                          e.g. 'parameter_missing', 'parameter_invalid',
                          'invalid_json'
                        type:
                          - string
                          - 'null'
                      message:
                        type: string
                      param:
                        description: The parameter that caused the error, if applicable
                        type:
                          - string
                          - 'null'
                      type:
                        type: string
                    required:
                      - type
                      - message
                    type: object
                required:
                  - error
                type: object
          description: Verification required
        '429':
          content:
            application/json:
              example:
                error: null
              schema:
                properties:
                  error:
                    properties:
                      code:
                        description: >-
                          A short string indicating the specific error code,
                          e.g. 'parameter_missing', 'parameter_invalid',
                          'invalid_json'
                        type:
                          - string
                          - 'null'
                      message:
                        type: string
                      param:
                        description: The parameter that caused the error, if applicable
                        type:
                          - string
                          - 'null'
                      type:
                        type: string
                    required:
                      - type
                      - message
                    type: object
                required:
                  - error
                type: object
          description: Too many requests
        '500':
          content:
            application/json:
              example:
                error:
                  message: An unexpected error occurred
                  type: internal_server_error
              schema:
                properties:
                  error:
                    properties:
                      code:
                        description: >-
                          A short string indicating the specific error code,
                          e.g. 'parameter_missing', 'parameter_invalid',
                          'invalid_json'
                        type:
                          - string
                          - 'null'
                      message:
                        type: string
                      param:
                        description: The parameter that caused the error, if applicable
                        type:
                          - string
                          - 'null'
                      type:
                        type: string
                    required:
                      - type
                      - message
                    type: object
                required:
                  - error
                type: object
          description: Internal server error
      security:
        - bearerAuth:
            - payout:withdrawal:read
            - payout:destination:read
components:
  schemas:
    Withdrawal:
      description: >-
        A withdrawal represents a request to transfer funds from a ledger
        account to an external payout method.
      properties:
        amount:
          description: >-
            The withdrawal amount as a decimal number in the specified currency
            (e.g., 100.00 for $100.00 USD).
          example: 6.9
          type: number
        created_at:
          description: The datetime the withdrawal was created.
          example: '2023-12-01T05:00:00.401Z'
          format: date-time
          type: string
        currency:
          $ref: '#/components/schemas/Currencies'
          description: >-
            The three-letter ISO currency code for this withdrawal (e.g., 'usd',
            'eur').
        error_code:
          description: >-
            A machine-readable error code describing why the payout failed. Null
            if no error occurred.
          oneOf:
            - $ref: '#/components/schemas/PayoutErrorCodes'
            - type: 'null'
        error_message:
          description: >-
            A human-readable message describing why the payout failed. Null if
            no error occurred.
          example: Destination bank account is invalid.
          type:
            - string
            - 'null'
        estimated_availability:
          description: >-
            The estimated time at which the funds become available in the
            destination account. Null if no estimate is available. As a Unix
            timestamp.
          example: '2023-12-01T05:00:00.401Z'
          format: date-time
          type:
            - string
            - 'null'
        fee_amount:
          description: >-
            The fee charged for processing this withdrawal, in the same currency
            as the withdrawal amount.
          example: 6.9
          type: number
        fee_type:
          description: >-
            How the fee was applied to the withdrawal. 'exclusive' means the fee
            was added on top (user receives the full requested amount).
            'inclusive' means the fee was deducted from the withdrawal (user
            receives less than requested). Null if no fee was charged.
          oneOf:
            - $ref: '#/components/schemas/WithdrawalFeeTypes'
            - type: 'null'
        id:
          description: The unique identifier for the withdrawal.
          example: wdrl_xxxxxxxxxxxxx
          type: string
        ledger_account:
          description: The ledger account from which the withdrawal funds are sourced.
          properties:
            company_id:
              description: >-
                Represents a unique identifier that is Base64 obfuscated. It is
                often used to refetch an object or as key for a cache. The ID
                type appears in a JSON response as a String; however, it is not
                intended to be human-readable. When expected as an input type,
                any string (such as `"VXNlci0xMA=="`) or integer (such as `4`)
                input value will be accepted as an ID.
              type:
                - string
                - 'null'
            id:
              description: The unique identifier for the ledger account.
              example: ldgr_xxxxxxxxxxxxx
              type: string
          required:
            - id
            - company_id
          type: object
        markup_fee:
          description: >-
            An additional markup fee charged for the withdrawal, in the same
            currency as the withdrawal amount. Only applies to platform accounts
            using Whop Rails.
          example: 6.9
          type: number
        payout_token:
          description: >-
            The saved payout destination used for this withdrawal (e.g., a bank
            account or PayPal address). Null if no payout token was used.
          properties:
            created_at:
              description: The datetime the payout token was created.
              example: '2023-12-01T05:00:00.401Z'
              format: date-time
              type: string
            destination_currency_code:
              description: >-
                The three-letter ISO currency code that payouts are delivered in
                for this destination.
              example: USD
              type: string
            id:
              description: The unique identifier for the payout token.
              example: potk_xxxxxxxxxxxxx
              type: string
            nickname:
              description: >-
                A user-defined label to help identify this payout destination.
                Not sent to the provider. Null if no nickname has been set.
              example: My Business Account
              type:
                - string
                - 'null'
            payer_name:
              description: >-
                The legal name of the account holder receiving payouts. Null if
                not provided.
              example: Acme Corp LLC
              type:
                - string
                - 'null'
          required:
            - id
            - payer_name
            - nickname
            - destination_currency_code
            - created_at
          type:
            - object
            - 'null'
        speed:
          $ref: '#/components/schemas/WithdrawalSpeeds'
          description: >-
            The processing speed selected for this withdrawal ('standard' or
            'instant').
        status:
          $ref: '#/components/schemas/WithdrawalStatus'
          description: >-
            The computed lifecycle status of the withdrawal, accounting for the
            state of associated payouts (e.g., 'requested', 'in_transit',
            'completed', 'failed').
        trace_code:
          description: >-
            The ACH trace number for tracking the payout through the banking
            network. Null if not available or not an ACH transaction.
          example: '021000021234567'
          type:
            - string
            - 'null'
      required:
        - id
        - status
        - amount
        - currency
        - fee_amount
        - fee_type
        - speed
        - created_at
        - markup_fee
        - ledger_account
        - payout_token
        - error_code
        - error_message
        - estimated_availability
        - trace_code
      type: object
    Currencies:
      description: The available currencies on the platform
      enum:
        - usd
        - sgd
        - inr
        - aud
        - brl
        - cad
        - dkk
        - eur
        - nok
        - gbp
        - sek
        - chf
        - hkd
        - huf
        - jpy
        - mxn
        - myr
        - pln
        - czk
        - nzd
        - aed
        - eth
        - ape
        - cop
        - ron
        - thb
        - bgn
        - idr
        - dop
        - php
        - try
        - krw
        - twd
        - vnd
        - pkr
        - clp
        - uyu
        - ars
        - zar
        - dzd
        - tnd
        - mad
        - kes
        - kwd
        - jod
        - all
        - xcd
        - amd
        - bsd
        - bhd
        - bob
        - bam
        - khr
        - crc
        - xof
        - egp
        - etb
        - gmd
        - ghs
        - gtq
        - gyd
        - ils
        - jmd
        - mop
        - mga
        - mur
        - mdl
        - mnt
        - nad
        - ngn
        - mkd
        - omr
        - pyg
        - pen
        - qar
        - rwf
        - sar
        - rsd
        - lkr
        - tzs
        - ttd
        - uzs
        - rub
        - btc
        - cny
        - usdt
        - kzt
        - awg
        - whop_usd
        - xau
      type: string
    PayoutErrorCodes:
      description: The different error codes a payout can be in.
      enum:
        - account_closed
        - account_does_not_exist
        - account_information_invalid
        - account_number_invalid_region
        - account_frozen
        - account_lookup_failed
        - account_not_found
        - amount_out_of_bounds
        - attributes_not_validated
        - b2b_payments_prohibited
        - bank_statement_required
        - compliance_review
        - currency_not_supported
        - deposit_canceled
        - deposit_failed
        - deposit_rejected
        - destination_unavailable
        - exceeded_account_limit
        - expired_quote
        - generic_payout_error
        - technical_problem
        - identification_number_invalid
        - invalid_account_number
        - invalid_bank_code
        - invalid_beneficiary
        - invalid_mailing_address
        - invalid_branch_number
        - invalid_branch_code
        - invalid_phone_number
        - invalid_routing_number
        - invalid_swift_code
        - invalid_company_details
        - manual_cancelation
        - misc_error
        - missing_city_and_country
        - missing_phone_number
        - missing_remittance_info
        - payee_name_invalid
        - beneficiary_name_mismatch
        - receiving_account_locked
        - rejected_by_compliance
        - rtp_not_supported
        - non_transaction_account
        - source_token_insufficient_funds
        - ssn_invalid
        - wallet_screenshot_required
        - unsupported_region
        - payout_provider_timeout
      type: string
    WithdrawalFeeTypes:
      description: The different fee types for a withdrawal.
      enum:
        - exclusive
        - inclusive
      type: string
    WithdrawalSpeeds:
      description: The different speeds of withdrawals
      enum:
        - standard
        - instant
      type: string
    WithdrawalStatus:
      description: The status of a withdrawal request
      enum:
        - requested
        - awaiting_payment
        - in_transit
        - completed
        - failed
        - canceled
        - denied
      type: string
  securitySchemes:
    bearerAuth:
      bearerFormat: auth-scheme
      description: >-
        A company API key, company scoped JWT, app API key, or user OAuth token.
        You must prepend your key/token with the word 'Bearer', which will look
        like `Bearer ***************************`
      scheme: bearer
      type: http

````