# List channels

Retrieves a list of channels using account-based routing, filterable by query parameters.

Endpoint: GET /v1/collections/channels
Version: 1.0.0
Security: Bearer

## Query parameters:

  - `id` (string)
    Filter channels by specific channel identifier

  - `payer_id` (string)
    Filter channels by payer identifier

  - `account_id` (string)
    Filter channels by account identifier

  - `beneficiary_id` (string)
    Filter channels by beneficiary identifier

  - `status` (string)
    Filter channels by status
    Enum: "ACTIVE", "INACTIVE", "CLOSED"

  - `since` (string)
    ISO 8601 timestamp after channel was created

  - `until` (string)
    ISO 8601 timestamp before channel was created

  - `page` (integer)
    Page number (zero-indexed, starts at 0)

  - `size` (integer)
    Page size (items per page)
    Example: 10

  - `sort_by` (string)
    Field to sort results by
    Enum: "CREATED_AT", "UPDATED_AT", "STATUS", "PAYER_NAME", "PAYER_EMAIL", "BENEFICIARY_NAME", "BENEFICIARY_EMAIL"

  - `direction` (string)
    Sort direction
    Enum: "asc", "desc"

## Response 200 fields (application/json):

  - `content` (array)

  - `content.id` (string, required)
    Unique identifier for the channel
    Example: "3fa85f64-5717-4562-b3fc-2c963f66afa6"

  - `content.payer` (object, required)
    Payer partner details

  - `content.payer.id` (string, required)
    Unique identifier for the payer partner
    Example: "e471b938-98ad-45e4-b144-53a556ea047d"

  - `content.payer.name` (string, required)
    Full name of the payer partner
    Example: "Nigerian Imports Ltd."

  - `content.payer.email` (string, required)
    Email address of the payer partner
    Example: "nigerian@imports.com"

  - `content.beneficiary` (object, required)
    Beneficiary partner details

  - `content.beneficiary.id` (string, required)
    Unique identifier of the beneficiary partner
    Example: "01467076-8bb0-41c1-ad54-5751dd4a9e80"

  - `content.beneficiary.name` (string, required)
    Full name of the beneficiary partner
    Example: "Hong Kong Exports Ltd."

  - `content.beneficiary.email` (string, required)
    Email address of the beneficiary partner
    Example: "hongkong@exports.com"

  - `content.account` (object, required)
    Account associated to this channel, which funds will be routed to

  - `content.account.id` (string, required)
    Unique identifier for the account
    Example: "a1b2c3d4-e5f6-7890-abcd-ef1234567890"

  - `content.account.beneficiary_id` (string, required)
    Unique identifier of the beneficiary partner
    Example: "291ecf34-a01d-466a-b0fd-662a88b7a1bb"

  - `content.account.currency` (string, required)
    Currency for the account
    Example: "USD"

  - `content.account.type` (string, required)
    Type of account
    Enum: "FIAT", "CRYPTO"

  - `content.payment_methods` (array, required)
    Available payment methods with full deposit instructions

  - `content.payment_link` (string, required)
    URL for payer UI to access this channel
    Example: "https://collections.ripplenet.com/pay/channel/3fa85f64-5717-4562-b3fc-2c963f66afa6"

  - `content.status` (string, required)
    Status of the channel
    Enum: "ACTIVE", "INACTIVE", "CLOSED"

  - `content.reason` (string,null)
    Reason for current status (if applicable)

  - `content.created_at` (string, required)
    ISO 8601 timestamp when the channel was created
    Example: "2025-09-18T22:54:00.542Z"

  - `content.updated_at` (string, required)
    ISO 8601 timestamp when the channel was last updated
    Example: "2025-09-18T22:54:00.542Z"

  - `page` (object)
    Pagination metadata.

  - `page.page` (integer, required)

  - `page.size` (integer, required)
    Example: 10

  - `page.total_elements` (integer, required)
    Example: 100

  - `page.total_pages` (integer, required)
    Example: 10

## Response 400 fields (application/json):

  - `code` (string, required)
    Error code identifying the type of error

  - `reason` (string, required)
    Human-readable error message


