Skip to content

List Sessions

Returns a page of sessions for your tenant, newest first.

Swagger documentation:
https://swagger-ui.aws-prod.billtrust.com/?urls.primaryName=BTPay%20ExtendPay%20Service%20v1

Endpoint: GET https://arc-aegis.billtrust.com/btpay-extendpay/v1/tenants/{tenantId}/sessions

Each item matches the Get session body.

Path parameters

Parameter Description
tenantId Your Billtrust tenant id

Query parameters

Parameter Type Required Description
createdFrom date-time Conditional Start of created range (inclusive). Must be paired with createdTo. Use ISO-8601 with timezone (example: 2026-08-01T00:00:00Z).
createdTo date-time Conditional End of created range (inclusive). Must be paired with createdFrom.
status string No Open, Failed, or Complete
page integer No Page number (default 1)
pageSize integer No Page size (default 25, max 100)
  • Omit both date parameters to skip the date filter.
  • Sending only one of createdFrom / createdTo returns 400.
  • createdFrom must be less than or equal to createdTo.
  • (page - 1) * pageSize must be ≤ 10,000.

Example request

curl -G 'https://arc-aegis.billtrust.com/btpay-extendpay/v1/tenants/{tenantId}/sessions' \
  -H 'accept: application/json' \
  --data-urlencode 'status=Complete' \
  --data-urlencode 'createdFrom=2026-08-01T00:00:00Z' \
  --data-urlencode 'createdTo=2026-08-31T23:59:59Z' \
  --data-urlencode 'page=1' \
  --data-urlencode 'pageSize=25'

Example response — 200

{
  "items": [
    {
      "extendPaySessionId": "c0ffee00-0000-4000-8000-000000000001",
      "status": "Complete",
      "sourceType": "supplierPortal",
      "accountNumber": "ACCT-100",
      "user": {
        "email": "buyer@example.com",
        "firstName": "Ada",
        "lastName": "Lovelace"
      },
      "onCompleteUrl": "https://supplier.example/return",
      "createdAt": "2026-08-11T15:00:00Z",
      "updatedAt": "2026-08-11T15:12:04Z",
      "paymentReference": "pay-ref-1",
      "transactions": [
        {
          "status": "Complete",
          "totalAmount": 175.0,
          "currencyCode": "USD",
          "transactionReference": "txn-1",
          "paymentDate": "2026-08-11T15:11:30Z",
          "scheduled": false,
          "paymentAccountDisplayName": "Visa ••4242",
          "invoices": {
            "items": [
              {
                "invoiceNumber": "INV-100",
                "totalDue": 100.0,
                "dueDate": "2026-09-15",
                "billDate": "2026-08-01",
                "amountApplied": 100.0,
                "appliedDiscount": 0.0,
                "isShortPay": false,
                "isOverPay": false
              }
            ]
          },
          "statements": {
            "items": [
              {
                "totalDue": 75.0,
                "dueDate": "2026-09-20",
                "billDate": "2026-08-05",
                "amountApplied": 75.0,
                "appliedDiscount": 5.0,
                "isShortPay": true,
                "isOverPay": false
              }
            ]
          }
        }
      ]
    },
    {
      "extendPaySessionId": "c0ffee00-0000-4000-8000-000000000002",
      "status": "Open",
      "sourceType": "counterSoftware",
      "accountNumber": "ACCT-200",
      "user": {
        "email": "cashier@example.com",
        "firstName": "Grace",
        "lastName": "Hopper"
      },
      "onCompleteUrl": "https://supplier.example/return",
      "createdAt": "2026-08-10T18:22:00Z",
      "updatedAt": "2026-08-10T18:22:00Z",
      "paymentReference": null,
      "transactions": []
    },
    {
      "extendPaySessionId": "c0ffee00-0000-4000-8000-000000000003",
      "status": "Complete",
      "sourceType": "buyerPortal",
      "accountNumber": "ACCT-300",
      "user": {
        "email": "buyer2@example.com",
        "firstName": "Alan",
        "lastName": "Turing"
      },
      "onCompleteUrl": "https://buyer.example/return",
      "createdAt": "2026-08-09T12:05:00Z",
      "updatedAt": "2026-08-09T12:18:41Z",
      "paymentReference": "pay-ref-2",
      "transactions": [
        {
          "status": "Complete",
          "totalAmount": 50.0,
          "currencyCode": "USD",
          "transactionReference": "txn-2",
          "paymentDate": "2026-08-09T12:18:10Z",
          "scheduled": false,
          "paymentAccountDisplayName": "ACH ••6789",
          "invoices": {
            "items": [
              {
                "invoiceNumber": "INV-200",
                "totalDue": 50.0,
                "dueDate": "2026-09-01",
                "billDate": "2026-07-15",
                "amountApplied": 50.0,
                "appliedDiscount": 0.0,
                "isShortPay": false,
                "isOverPay": false
              }
            ]
          },
          "statements": {
            "items": []
          }
        }
      ]
    }
  ],
  "page": 1,
  "pageSize": 25,
  "hasMore": false
}
Field Description
items Session objects (same shape as Get)
page Current page
pageSize Page size
hasMore true if another page is available

Paging

  1. Start at page=1.
  2. Process items.
  3. If hasMore is true, request the next page with the same filters.
  4. Stop when hasMore is false.

Errors

HTTP status Description
400 Invalid query (for example unpaired dates or page size too large)
500 Unexpected error
504 Request timed out

See Errors.