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

# Listar dispersiones

> Obtén las dispersiones registradas en tu compañía con filtros y paginación.

### Parámetros de consulta

<ParamField query="page" type="number" default={1}>
  Página que deseas consultar.
</ParamField>

<ParamField query="per_page" type="number" default={50}>
  Registros por página (máx. 100).
</ParamField>

<ParamField query="filter[id]" type="string">
  ID único de la dispersión
</ParamField>

<ParamField query="filter[status]" type="string" placeholder="pending | processing | processed | failed">
  Estado de la dispersión
</ParamField>

<ParamField query="filter[payment_currency]" type="string" placeholder="COP">
  Moneda de la dispersión
</ParamField>

<ParamField query="filter[amount]" type="string">
  Monto de la dispersión
</ParamField>

<ParamField query="filter[title]" type="string">
  Título de la dispersión
</ParamField>

<ParamField query="filter[reference]" type="string">
  Referencia de la dispersión
</ParamField>

<ParamField query="filter[name]" type="string">
  Nombre del cliente
</ParamField>

<ParamField query="filter[document_number]" type="string">
  Número de documento de identidad del cliente
</ParamField>

<ParamField query="sort" type="string" placeholder="-created_at">
  Ordena los resultados (`created_at | -created_at | processed_at | -processed_at | scheduled_at | -scheduled_at | amount | -amount`).
</ParamField>

<RequestExample>
  ```bash cURL theme={null}
  curl https://api.onepay.la/v1/cashouts?page=1&per_page=50&filter[status]=processed&sort=-created_at \
    -H "Authorization: Bearer sk_test_xxx"
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch('https://api.onepay.la/v1/cashouts?page=1&per_page=50&filter[status]=processed&sort=-created_at', {
    method: 'GET',
    headers: {
      'Authorization': 'Bearer sk_test_xxx'
    }
  });
  const data = await response.json();
  console.log(data.data); // Array de dispersiones
  console.log(data.total); // Total de dispersiones
  ```

  ```python Python theme={null}
  import requests

  url = "https://api.onepay.la/v1/cashouts"
  headers = {
      "Authorization": "Bearer sk_test_xxx"
  }
  params = {
      "page": 1,
      "per_page": 50,
      "filter[status]": "processed",
      "sort": "-created_at"
  }

  response = requests.get(url, headers=headers, params=params)
  data = response.json()
  print(data["data"])  # Array de dispersiones
  print(data["total"])  # Total de dispersiones
  ```

  ```php PHP theme={null}
  <?php
  $ch = curl_init();

  $url = "https://api.onepay.la/v1/cashouts?" . http_build_query([
      "page" => 1,
      "per_page" => 50,
      "filter" => ["status" => "processed"],
      "sort" => "-created_at"
  ]);

  curl_setopt_array($ch, [
      CURLOPT_URL => $url,
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_HTTPHEADER => [
          "Authorization: Bearer sk_test_xxx"
      ]
  ]);

  $response = curl_exec($ch);
  $data = json_decode($response, true);

  print_r($data["data"]); // Array de dispersiones
  echo $data["total"];    // Total de dispersiones

  curl_close($ch);
  ?>
  ```
</RequestExample>

### Response

<ResponseField name="data" type="array">
  Listado de dispersiones.
</ResponseField>

<ResponseField name="current_page" type="number">
  Número de la página actual
</ResponseField>

<ResponseField name="first_page_url" type="string">
  URL para acceder a la primera página de resultados
</ResponseField>

<ResponseField name="from" type="number">
  Índice inicial del primer elemento en la página actual
</ResponseField>

<ResponseField name="next_page_url" type="string">
  URL para acceder a la siguiente página de resultados. Será `null` si es la última página
</ResponseField>

<ResponseField name="path" type="string">
  URL base de la API sin los parámetros de paginación
</ResponseField>

<ResponseField name="per_page" type="number">
  Cantidad de elementos por página
</ResponseField>

<ResponseField name="prev_page_url" type="string">
  URL para acceder a la página anterior. Será `null` si es la primera página
</ResponseField>

<ResponseField name="to" type="number">
  Índice final del último elemento en la página actual
</ResponseField>

<ResponseExample>
  ```json theme={null}
  {
     "data":[
        {
           "id":"9d44ce43-a227-4566-b107-5a6bc01cbcdf",
           "customer_id":"9b7c5f38-b2b5-4b0d-8e4c-458192e88eae",
           "account_id":"9d0ac58c-2226-4f1c-b305-15e6dc3b47f6",
           "is_test":false,
           "amount":1000,
           "status":"processed",
           "scheduled_at":null,
           "created_at":"2024-10-17T18:07:18.000000Z",
           "external_id":null,
           "method":"ACH"
        },
        {
           "id":"9d18ade4-1607-4ef4-9d9d-8a40fb9e0aef",
           "customer_id":"9d18ad3b-782f-4448-b2fb-bd17b1420a91",
           "account_id":null,
           "is_test":false,
           "amount":1,
           "status":"processed",
           "scheduled_at":null,
           "created_at":"2024-09-25T19:40:21.000000Z",
           "external_id":null,
           "method":"TURBO"
        }
     ],
     "current_page":1,
     "from":1,
     "last_page":16,
     "per_page":50,
     "to":50,
     "total":756
  }
  ```
</ResponseExample>
