> This is Payabli documentation. For a complete page index, fetch https://docs.payabli.com/llms.txt — append .md to any page URL for lightweight markdown. For section-level indexes, query parameters, and other AI-optimized access methods, see https://docs.payabli.com/ai-agents.md

# List batches for paypoint

GET https://api-sandbox.payabli.com/api/Query/batches/{entry}

Retrieve a list of batches for a paypoint. Use filters to limit results. Include the `exportFormat` query parameter to return the results as a file instead of a JSON response.

Reference: https://docs.payabli.com/developers/api-reference/query/get-list-of-batches-for-an-entrypoint

## Authentication

- `Authorization` header (bearer token, required) — Bearer authentication of the form `Bearer <token>`, where token is your auth token.
- `requestToken` header (required) — Long-lived API token sent in the `requestToken` header. See [API token authentication](/developers/api-tokens).

## Servers

- `https://api-sandbox.payabli.com/api` (Sandbox, default)
- `https://api.payabli.com/api` (Production)

## Request

### Path parameters

- `entry` (string, required) — The entity's entrypoint identifier. [Learn more](/developers/api-reference/api-overview#entrypoint-vs-entry)

### Query parameters

- `exportFormat` (enum, optional) — Export format for file downloads. When specified, returns data as a file instead of JSON.
  - Allowed values: `csv`, `xlsx`
- `fromRecord` (integer, optional, default: 0) — The number of records to skip before starting to collect the result set.
- `limitRecord` (integer, optional, default: 20) — Max number of records to return for the query. Use `0` or negative value to return all records.
- `parameters` (map from string to string, optional) — Collection of field names, conditions, and values used to filter the query. **You must remove `parameters=` from the request before you send it, otherwise Payabli will ignore the filters.** Because of a technical limitation, you can't make a request that includes filters from the API console on this page. The response won't be filtered. Instead, copy the request, remove `parameters=` and run the request in a different client, for example: \--url [https://api-sandbox.payabli.com/api/Query/transactions/org/236?parameters=totalAmount(gt)=1000\&limitRecord=20](https://api-sandbox.payabli.com/api/Query/transactions/org/236?parameters=totalAmount\(gt\)=1000\&limitRecord=20) should become: \--url [https://api-sandbox.payabli.com/api/Query/transactions/org/236?totalAmount(gt)=1000\&limitRecord=20](https://api-sandbox.payabli.com/api/Query/transactions/org/236?totalAmount\(gt\)=1000\&limitRecord=20) See [Filters and Conditions Reference](/developers/developer-guides/pay-ops-reporting-engine-overview#filters-and-conditions-reference) for more information. **Accepted field names:** * `batchDate` (gt, ge, lt, le, eq, ne) * `batchNumber` (ne, eq) * `method` (in, nin, eq, ne) * `connectorName` (ne, eq, ct, nct) * `batchAmount` (gt, ge, lt, le, eq, ne) * `feeBatchAmount` (gt, ge, lt, le, eq, ne) * `netBatchAmount` (gt, ge, lt, le, eq, ne) * `releaseAmount` (gt, ge, lt, le, eq, ne) * `heldAmount` (gt, ge, lt, le, eq, ne) * `status` (in, nin, eq, ne) * `paypointLegal` (ne, eq, ct, nct) * `paypointDba` (ne, eq, ct, nct) * `orgName` (ne, eq, ct, nct) * `paypointId` (ne, eq) * `externalPaypointID` (ct, nct, eq, ne) * `expectedDepositDate` (gt, ge, lt, le, eq, ne) * `depositDate` (gt, ge, lt, le, eq, ne) * `batchRecords` (gt, ge, lt, le, eq, ne) * `transferId` (ne, eq) * `transferDate` (gt, ge, lt, le, eq, ne) * `grossAmount` (gt, ge, lt, le, eq, ne) * `chargeBackAmount` (gt, ge, lt, le, eq, ne) * `returnedAmount` (gt, ge, lt, le, eq, ne) * `billingFeeAmount` (gt, ge, lt, le, eq, ne) * `thirdPartyPaidAmount` (gt, ge, lt, le, eq, ne) * `netFundedAmount` (gt, ge, lt, le, eq, ne) * `adjustmentAmount` (gt, ge, lt, le, eq, ne) * `processor` (ne, eq, ct, nct) * `transferStatus` (ne, eq, in, nin) **Accepted parameters:** * `limitRecord`: max number of records for query (default="20", "0" or negative value for all) * `fromRecord`: initial record in query Example: `batchAmount(gt)=20` returns all records with a `batchAmount` greater than 20.00
- `sortBy` (string, optional) — The field name to use for sorting results. Use `desc(field_name)` to sort descending by `field_name`, and use `asc(field_name)` to sort ascending by `field_name`.

## Response

### 200

Success

- `Records` (list of QueryBatchesResponseRecordsItem, required)
- `Summary` (BatchSummary, required)

## Errors

### 400 Bad Request Error

Bad request / invalid data.

- `isSuccess` (boolean, required) — Always `false` for error responses.
- `responseText` (string, required) — Error text describing what went wrong.
- `responseCode` (integer, optional) — Code for the response. Learn more in [API Response Codes](/developers/api-reference/api-responses).
- `responseData` (PayabliErrorBodyResponseData, optional) — Object with detailed error context.

### 401 Unauthorized Error

Unauthorized request.

- `isSuccess` (boolean, required) — Always `false` for error responses.
- `responseText` (string, required) — Error text describing what went wrong.
- `responseCode` (integer, optional) — Code for the response. Learn more in [API Response Codes](/developers/api-reference/api-responses).
- `responseData` (PayabliErrorBodyResponseData, optional) — Object with detailed error context.

### 500 Internal Server Error

Internal server error.

- `isSuccess` (boolean, required) — Always `false` for error responses.
- `responseText` (string, required) — Error text describing what went wrong.
- `responseCode` (integer, optional) — Code for the response. Learn more in [API Response Codes](/developers/api-reference/api-responses).
- `responseData` (PayabliErrorBodyResponseData, optional) — Object with detailed error context.

### 503 Service Unavailable Error

Database connection error.

- `isSuccess` (boolean, required) — Always `false` for error responses.
- `responseText` (string, required) — Error text describing what went wrong.
- `responseCode` (integer, optional) — Code for the response. Learn more in [API Response Codes](/developers/api-reference/api-responses).
- `responseData` (PayabliErrorBodyResponseData, optional) — Object with detailed error context.

## Types

### QueryBatchesResponseRecordsItem

- `IdBatch` (integer, required, nullable) — The batch ID.
- `BatchNumber` (string, required, nullable) — A unique identifier for the batch. This is generated by Payabli when the batch is created, and follows this format: `paypointId + "_" + serviceName + "_" + batchDate:yyyyMMdd + "_" + Guid.NewGuid()`. Payabli generates the GUID to ensure that the batch number is unique. For example, in this batch number: `123_card_20251008_3f2504e0-4f89-11d3-9a0c-0305e82c3301`, the paypointID is `123`, the service is `card`, the batch date is `2025-10-08`, and the GUID is `3f2504e0-4f89-11d3-9a0c-0305e82c3301`.
- `TransferIdentifier` (string, required, nullable) — Unique identifier for the transfer.
- `EventsData` (list of GeneralEvents, required, nullable) — Events associated with the batch.
- `ConnectorName` (string, required, nullable)
- `BatchDate` (datetime, required, nullable) — The batch date.
- `BatchAmount` (double, required, nullable) — The amount of the batch.
- `BatchFeesAmount` (double, required, nullable) — The total of fees in the batch.
- `BatchAuthAmount` (double, required, nullable)
- `BatchReleasedAmount` (double, required, nullable) — Previously held funds that have been released after a risk review.
- `BatchHoldAmount` (double, required, nullable) — The total amount of the batch that's being held for fraud or risk concerns.
- `BatchReturnedAmount` (double, required, nullable) — Total amount of ACH returns deducted from batch.
- `BatchRefundAmount` (double, required, nullable) — The total amount of refunds deducted from batch.
- `BatchSplitAmount` (double, required, nullable) — Total of split transactions that included split funding instructions at the time of authorization.
- `BatchStatus` (integer, required) — The batch status. See [Batch Status](/developers/references/money-in-statuses#batch-status) for more.
- `BatchRecords` (integer, required) — The number of records in the batch.
- `PaypointId` (long, required, nullable) — The paypoint's ID. Note that this is different than the entryname.
- `PaypointName` (string, required, nullable) — The paypoint name.
- `PaypointDba` (string, required, nullable) — The alternate or common name that this business is doing business under, usually referred to as a DBA name.
- `ParentOrgName` (string, required) — The entrypoint's parent org.
- `ParentOrgId` (integer, required) — The parent organization ID.
- `externalPaypointID` (string, required, nullable) — A custom identifier for the paypoint, if applicable.
- `EntryName` (string, required) — The entrypoint identifier.
- `BankName` (string, required, nullable) — The bank name.
- `BatchType` (integer, required, nullable) — The batch type.
- `Method` (string, required, nullable) — The payment method used.
- `ExpectedDepositDate` (datetime, required, nullable) — The date the funds are expected to be deposited.
- `DepositDate` (datetime, required, nullable) — The date the funds were deposited.
- `TransferDate` (datetime, required, nullable) — The batch transfer date.
- `Transfer` (QueryBatchesTransfer, required, nullable) — Transfer details for the batch.

### BatchSummary

- `pageidentifier` (string, optional) — Auxiliary validation used internally by payment pages and components.
- `pageSize` (integer, optional) — Number of records on each response page.
- `totalAmount` (double, optional) — Total amount for the records.
- `totalNetAmount` (double, optional) — Total net amount for the records.
- `totalPages` (integer, optional) — Total number of pages in response.
- `totalRecords` (integer, optional) — Total number of records in response.

### PayabliErrorBodyResponseData

Object with detailed error context.

- `explanation` (string, optional) — Human-readable explanation of what happened.
- `todoAction` (string, optional) — Suggested resolution.

### GeneralEvents

- `description` (string, optional) — Event description.
- `eventTime` (datetime, optional) — Event timestamp, in UTC.
- `extraData` (string, optional, nullable) — Extra data.
- `refData` (string, optional) — Reference data.
- `source` (string, optional) — The event source.

### QueryBatchesTransfer

Transfer details within a batch response.

- `TransferId` (integer, required, nullable) — The transfer ID.
- `TransferDate` (datetime, required, nullable) — The transfer date.
- `Processor` (string, required, nullable) — The processor used for the transfer.
- `TransferStatus` (integer, required, nullable) — The transfer status.
- `GrossAmount` (double, required, nullable) — The gross amount of the transfer.
- `ChargeBackAmount` (double, required, nullable) — The chargeback amount.
- `ReturnedAmount` (double, required, nullable) — The returned amount.
- `RefundAmount` (double, required, nullable) — The refund amount.
- `HoldAmount` (double, required, nullable) — The amount being held.
- `ReleasedAmount` (double, required, nullable) — The amount that has been released.
- `BillingFeesAmount` (double, required, nullable) — The billing fees amount.
- `ThirdPartyPaidAmount` (double, required, nullable) — The third party paid amount.
- `AdjustmentsAmount` (double, required, nullable) — The adjustments amount.
- `NetFundedAmount` (double, required, nullable) — The net funded amount.

## Examples

**Response**

```json
{
  "Records": [
    {
      "IdBatch": 1049,
      "BatchNumber": "batch_2857_combined_08-26-2025_001",
      "TransferIdentifier": null,
      "EventsData": [
        {
          "description": "Created",
          "eventTime": "2025-08-25T03:19:27.6190027-04:00",
          "extraData": null,
          "refData": null,
          "source": "api"
        }
      ],
      "ConnectorName": "GP",
      "BatchDate": "2025-08-25T20:00:00",
      "BatchAmount": 0,
      "BatchFeesAmount": 0,
      "BatchAuthAmount": 0,
      "BatchReleasedAmount": 0,
      "BatchHoldAmount": 0,
      "BatchReturnedAmount": 0,
      "BatchRefundAmount": 0,
      "BatchSplitAmount": 0,
      "BatchStatus": 2,
      "BatchRecords": 2,
      "PaypointId": 3040,
      "PaypointName": "Gruzya Adventure Outfitters, LLC",
      "PaypointDba": "Gruzya Adventure Outfitters",
      "ParentOrgName": "Pilgrim Planner",
      "ParentOrgId": 105,
      "externalPaypointID": null,
      "EntryName": "47f4f8c7e1",
      "BankName": "Riverdale Community Bank",
      "BatchType": 0,
      "Method": "combined",
      "ExpectedDepositDate": "2025-08-26T00:00:00Z",
      "DepositDate": null,
      "TransferDate": "2025-08-26T00:00:00Z",
      "Transfer": null
    },
    {
      "IdBatch": 1043,
      "BatchNumber": "BT-2023041817-187",
      "TransferIdentifier": null,
      "EventsData": null,
      "ConnectorName": null,
      "BatchDate": "2023-04-18T17:01:03Z",
      "BatchAmount": 219.02,
      "BatchFeesAmount": 0,
      "BatchAuthAmount": 0,
      "BatchReleasedAmount": 0,
      "BatchHoldAmount": 0,
      "BatchReturnedAmount": 0,
      "BatchRefundAmount": 0,
      "BatchSplitAmount": 0,
      "BatchStatus": 2,
      "BatchRecords": 1,
      "PaypointId": 3040,
      "PaypointName": "Gruzya Adventure Outfitters, LLC",
      "PaypointDba": "Gruzya Adventure Outfitters",
      "ParentOrgName": "Pilgrim Planner",
      "ParentOrgId": 105,
      "externalPaypointID": null,
      "EntryName": "d193cf9a46",
      "BankName": "Riverdale Community Bank",
      "BatchType": 0,
      "Method": "card",
      "ExpectedDepositDate": "2023-04-19T00:00:00Z",
      "DepositDate": null,
      "TransferDate": "2025-09-02T00:00:00Z",
      "Transfer": null
    },
    {
      "IdBatch": 1012,
      "BatchNumber": "BT-2023041421-187",
      "TransferIdentifier": "ec310c3d-d4bf-4670-9524-00fcc4ab6a2a",
      "EventsData": [
        {
          "description": "Created",
          "eventTime": "2023-04-14T21:01:03Z",
          "extraData": null,
          "refData": null,
          "source": "api"
        },
        {
          "description": "Closed",
          "eventTime": "2023-04-15T03:05:10Z",
          "extraData": null,
          "refData": "batchId: 1012",
          "source": "worker"
        }
      ],
      "ConnectorName": "GP",
      "BatchDate": "2023-04-14T21:01:03Z",
      "BatchAmount": 1080.44,
      "BatchFeesAmount": 0,
      "BatchAuthAmount": 1080.44,
      "BatchReleasedAmount": 0,
      "BatchHoldAmount": 0,
      "BatchReturnedAmount": 0,
      "BatchRefundAmount": 0,
      "BatchSplitAmount": 0,
      "BatchStatus": 2,
      "BatchRecords": 4,
      "PaypointId": 3040,
      "PaypointName": "Gruzya Adventure Outfitters, LLC",
      "PaypointDba": "Gruzya Adventure Outfitters",
      "ParentOrgName": "Pilgrim Planner",
      "ParentOrgId": 105,
      "externalPaypointID": null,
      "EntryName": "d193cf9a46",
      "BankName": "Riverdale Community Bank",
      "BatchType": 0,
      "Method": "card",
      "ExpectedDepositDate": "2023-04-15T00:00:00Z",
      "DepositDate": null,
      "TransferDate": "2025-09-02T00:00:00Z",
      "Transfer": {
        "TransferId": 4521,
        "TransferDate": "2025-09-02T00:00:00Z",
        "Processor": "gp",
        "TransferStatus": 1,
        "GrossAmount": 1080.44,
        "ChargeBackAmount": 0,
        "ReturnedAmount": 0,
        "RefundAmount": 0,
        "HoldAmount": 0,
        "ReleasedAmount": 0,
        "BillingFeesAmount": 0,
        "ThirdPartyPaidAmount": 0,
        "AdjustmentsAmount": 0,
        "NetFundedAmount": 1080.44
      }
    }
  ],
  "Summary": {
    "pageidentifier": null,
    "pageSize": 20,
    "totalAmount": 54049.71,
    "totalNetAmount": 0,
    "totalPages": 3,
    "totalRecords": 3
  }
}
```

**SDK Code**

```python
import requests

url = "https://api-sandbox.payabli.com/api/Query/batches/8cfec329267"

querystring = {"fromRecord":"251","limitRecord":"0","sortBy":"desc(field_name)"}

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers, params=querystring)

print(response.json())
```

```javascript
const url = 'https://api-sandbox.payabli.com/api/Query/batches/8cfec329267?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api-sandbox.payabli.com/api/Query/batches/8cfec329267?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("Authorization", "Bearer <token>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby
require 'uri'
require 'net/http'

url = URI("https://api-sandbox.payabli.com/api/Query/batches/8cfec329267?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
```

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://api-sandbox.payabli.com/api/Query/batches/8cfec329267?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29")
  .header("Authorization", "Bearer <token>")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://api-sandbox.payabli.com/api/Query/batches/8cfec329267?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29', [
  'headers' => [
    'Authorization' => 'Bearer <token>',
  ],
]);

echo $response->getBody();
```

```csharp
using RestSharp;

var client = new RestClient("https://api-sandbox.payabli.com/api/Query/batches/8cfec329267?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer <token>");
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let headers = ["Authorization": "Bearer <token>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://api-sandbox.payabli.com/api/Query/batches/8cfec329267?fromRecord=251&limitRecord=0&sortBy=desc%28field_name%29")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```