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

# List all ramp requests

> Retrieve a paginated, filterable list of your on-ramp and off-ramp requests.

Returns ramp requests for your company with optional filtering by `rampType`, `status`, date range, and `paymentReference`, plus sorting and pagination.

**Concept guide:** [Transactions](/guides/payments/transactions)


## OpenAPI

````yaml api-reference/Fundflow-API.yaml GET /v1/ramp-requests
openapi: 3.1.0
info:
  title: Fundflow API
  description: >
    Fundflow API provides endpoints for managing cryptocurrency on-ramp and
    off-ramp requests, 

    company bank accounts, wallets, and user management for blockchain payment
    operations.


    ## Overview

    The Fundflow API enables companies to:

    - Create and manage on-ramp (fiat to crypto) and off-ramp (crypto to fiat)
    requests

    - Manage company bank accounts across multiple payment networks (SEPA, ACH,
    SWIFT, etc.)

    - Manage company cryptocurrency wallets across multiple blockchains

    - Handle user roles and permissions within the company

    - Calculate fees and retrieve exchange rate information


    ## Authentication

    All endpoints require OAuth2 authentication using a bearer token that is
    retrieved from authentication endpoint using your client_id and
    client_secret.


    ## Optimistic Locking

    Many write operations use optimistic locking via a `version` field to
    prevent concurrent updates.

    When a version conflict occurs (HTTP 409), you must:

    1. Fetch the latest version of the resource

    2. Reapply their changes to the updated resource

    3. Retry the operation with the new version number


    ## Status Workflows


    ### Ramp Request Status Flow

    - **AWAITING_APPROVAL** → **AWAITING_FUNDS** (after approval)

    - **AWAITING_APPROVAL** → **CANCELLED** (cancelled by requester)

    - **AWAITING_APPROVAL** → **REJECTED** (rejected by company admin)

    - **AWAITING_APPROVAL** → **DENIED** (denied by Venly admin)

    - **AWAITING_APPROVAL** → **BLOCKED** (blocked by Venly admin)

    - **AWAITING_FUNDS** → **PROCESSING** (payment received/initiated)

    - **PROCESSING** → **SUCCEEDED** (transaction completed)

    - **PROCESSING** → **FAILED** (transaction failed)
  contact:
    name: Venly
    url: https://venly.io
    email: contact@venly.io
  version: 1.7.0
servers:
  - url: https://api-fundflow.venly.io
    description: Production
  - url: https://api-fundflow-staging.venly.io
    description: Staging
security: []
tags:
  - name: Ramp Requests
    description: >-
      On-ramp (fiat to crypto) and off-ramp (crypto to fiat) request lifecycle
      and management
  - name: Fees
    description: Fee configuration and per-request fee calculation
  - name: Company Wallets
    description: Company cryptocurrency wallet whitelisting, verification, and management
  - name: Company Bank Accounts
    description: >-
      Company bank account whitelisting and management across payment networks
      (SEPA, ACH, SWIFT, and more)
  - name: Deposit Wallets
    description: >-
      Venly deposit wallet addresses for wallet-ownership verification and
      off-ramp settlement
  - name: Crypto Currencies
    description: >-
      Cryptocurrencies supported for ramp operations, organised by blockchain
      network
  - name: Fiat Currencies
    description: Fiat currencies supported for ramp operations
  - name: Blockchain Networks
    description: Blockchain networks supported for cryptocurrency operations
  - name: Bank Account Configuration
    description: Enabled bank account types, supported countries, and supported currencies
  - name: Company
    description: Authenticated company details and KYB status
  - name: Users
    description: Company user management, roles, and permissions
  - name: Authentication
    description: Authenticated user profile, company affiliation, and assigned authorities
paths:
  /v1/ramp-requests:
    get:
      tags:
        - Ramp Requests
      summary: List all ramp requests
      description: >
        Retrieves a paginated list of ramp requests with optional filtering and
        sorting.
      operationId: getAll
      parameters:
        - name: rampType
          in: query
          description: >-
            Filter by ramp type (ON_RAMP for fiat-to-crypto, OFF_RAMP for
            crypto-to-fiat)
          required: false
          schema:
            type: string
            enum:
              - ON_RAMP
              - OFF_RAMP
        - name: status
          in: query
          description: Filter by request status
          required: false
          schema:
            type: string
            enum:
              - AWAITING_APPROVAL
              - AWAITING_FUNDS
              - PROCESSING
              - SUCCEEDED
              - FAILED
              - BLOCKED
              - DENIED
              - REJECTED
              - CANCELLED
        - name: fromDate
          in: query
          description: Filter requests created on or after this date (inclusive)
          required: false
          schema:
            type: string
            format: date
          example: '2024-01-01'
        - name: toDate
          in: query
          description: Filter requests created on or before this date (inclusive)
          required: false
          schema:
            type: string
            format: date
          example: '2024-12-31'
        - name: paymentReference
          in: query
          description: Filter by payment reference (auto-generated unique identifier)
          required: false
          schema:
            type: string
        - $ref: '#/components/parameters/SortOn'
        - $ref: '#/components/parameters/SortOrder'
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/Size'
      responses:
        '200':
          description: Successfully retrieved ramp requests
          content:
            '*/*':
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    default: true
                  pagination:
                    $ref: '#/components/schemas/Pagination'
                  sort:
                    $ref: '#/components/schemas/Sort'
                  result:
                    type: array
                    items:
                      $ref: '#/components/schemas/RampRequestListItem'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '405':
          $ref: '#/components/responses/MethodNotAllowed'
        '415':
          $ref: '#/components/responses/UnsupportedMediaType'
        '500':
          $ref: '#/components/responses/InternalServerError'
      security:
        - OAuth2:
            - view:ramp-request
components:
  parameters:
    SortOn:
      name: sortOn
      in: query
      description: Field name to sort by
      required: false
      schema:
        type: string
    SortOrder:
      name: sortOrder
      in: query
      description: Sort direction
      required: false
      schema:
        type: string
        default: ASC
        enum:
          - ASC
          - DESC
    Page:
      name: page
      in: query
      description: Page number (1-based indexing)
      required: false
      schema:
        type: integer
        format: int32
        default: 1
        minimum: 1
      example: 1
    Size:
      name: size
      in: query
      description: Number of items per page
      required: false
      schema:
        type: integer
        format: int32
        default: 100
        minimum: 1
      example: 100
  schemas:
    Pagination:
      type: object
      description: Pagination metadata
      properties:
        pageNumber:
          type: integer
          format: int32
          description: Current page number (1-based)
        pageSize:
          type: integer
          format: int32
          description: Number of items per page
        numberOfElements:
          type: integer
          format: int64
          description: Total number of items across all pages
        numberOfPages:
          type: integer
          format: int32
          description: Total number of pages
        hasNextPage:
          type: boolean
          description: Whether there's a next page
        hasPreviousPage:
          type: boolean
          description: Whether there's a previous page
    Sort:
      type: object
      description: Sort configuration
      properties:
        orders:
          type: array
          items:
            type: string
            enum:
              - ASC
              - DESC
    RampRequestListItem:
      type: object
      description: Simplified ramp request for list views
      properties:
        id:
          type: string
          format: uuid
        paymentReference:
          type: string
        rampType:
          type: string
          enum:
            - ON_RAMP
            - OFF_RAMP
        status:
          type: string
          enum:
            - AWAITING_APPROVAL
            - AWAITING_FUNDS
            - PROCESSING
            - SUCCEEDED
            - FAILED
            - BLOCKED
            - DENIED
            - REJECTED
            - CANCELLED
        fiatAmount:
          type: number
        fiatCurrency:
          type: string
        cryptoAmount:
          type: number
        cryptoCurrency:
          type: string
        createdAt:
          type: string
          format: date-time
        createdBy:
          type: string
    ErrorResponse:
      type: object
      description: Error response wrapper
      properties:
        success:
          type: boolean
          default: false
        errors:
          type: array
          items:
            $ref: '#/components/schemas/ErrorBody'
        result:
          type: object
          nullable: true
    ErrorBody:
      type: object
      description: Individual error details
      properties:
        code:
          type: string
          description: Machine-readable error code
        message:
          type: string
          description: Human-readable error message
  responses:
    BadRequest:
      description: When the request contains invalid input
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            success: false
            errors:
              - code: validation-error
                message: A descriptive error message
    Unauthorized:
      description: When the user is not authorized to access the resource
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            success: false
            errors:
              - code: UNAUTHORIZED
                message: Access is denied.
    Forbidden:
      description: When a user doesn't have proper security authority
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            success: false
            errors:
              - code: FORBIDDEN
                message: User doesn't have proper authority to access this resource
    NotFound:
      description: When a resource is not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            success: false
            errors:
              - code: NOT_FOUND
    MethodNotAllowed:
      description: When the HttpMethod is not supported
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            success: false
            errors:
              - code: METHOD_NOT_SUPPORTED
                message: HttpMethod is not supported. Supported methods are [..]
    UnsupportedMediaType:
      description: Usually when the input is not a valid json
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            success: false
            errors:
              - code: INVALID_MEDIA_TYPE
    InternalServerError:
      description: When there's an unexpected error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            success: false
            errors:
              - code: INTERNAL_SERVER_ERROR
                message: A description of the error (optional)
  securitySchemes:
    OAuth2:
      type: oauth2
      description: OAuth2 authentication via Venly Identity Platform
      flows:
        implicit:
          authorizationUrl: >-
            https://login-staging.venly.io/auth/realms/VenlyFinance/protocol/openid-connect/auth
          scopes:
            openid: OpenID Connect scope
            view:ramp-request: View ramp requests
            create:ramp-request: Create ramp requests
            edit:ramp-request: Edit ramp request amounts
            approve:ramp-request: Approve ramp requests
            reject:ramp-request: Reject ramp requests
            cancel:ramp-request: Cancel ramp requests
            sign-off:ramp-request: Sign off on ramp requests (add transaction hash)
            export:ramp-requests: Export ramp requests
            view:company-wallet: View company wallets
            manage:company-wallet: Create and manage company wallets
            view:company-bank-account: View company bank accounts
            manage:company-bank-account: Create and manage company bank accounts
            manage:company-users: Manage company users

````