# List Transactions in a Batch without Batch ID

Return a list of transactions in a batch without a batch ID. Use this endpoint to return a list of transactions in an open batch. Open batches do not have a batch ID. (Batch ID assigned when settlement request  sent to host processor.)

Endpoint: GET /v1/batches/transactions
Version: 1.0.0-beta.27
Security: ApiKeyAuth

## Security:

  - `ApiKeyAuth` (unknown)
    apiKey in header Api-Key

## Query parameters:

  - `limit` (integer)
    Maximum number of transactions to return. Range: 1–1000.

  - `offset` (integer)
    Number of transactions to skip before returning results. Use with `limit` to select a specific window. For example, `offset=20&limit=20` returns records 21–40.

  - `client_id` (string)
    Filter results to transactions belonging to a specific client. Resellers use this to view transactions for a child merchant under their account. The authenticated caller must have permission to access the specified client's data. More than one  client_id can be included by using a comma-separated list.

  - `integration` (string)
    Filter results to transactions belonging to a specific integration  (e.g., payment processor such as TSYS or Vericheck).

  - `card_type` (string)
    Filters open-batch transactions by card type. Send a single value; this filter does not accept a list. Values are matched case-insensitively.

Two differences from the `card_type` filter on `GET /v1/transactions` are worth knowing before you rely on this one. `UNKNOWN` is rejected with a 400, because open-batch eligibility has no bucket for an undetermined card type. And `CREDIT` returns transactions whose card type is credit **or** undetermined, since the two are grouped together here. So the same value selects a wider set of rows on this operation than on `GET /v1/transactions`.

  - `created_at` (string)
    Filter by time created.

  - `timezone` (string)
    The time zone of the account.

## Header parameters:

  - `Client-Id` (string, required)

  - `X-Acting-As-Client-Id` (string)
    The child client this request acts on behalf of. A reseller still authenticates as itself — `Api-Key` and `Client-Id` stay the reseller's — and names the child here.

This works only from a parent to its own children. Merchants have no children, so a merchant calling as itself omits the header. Sending your own client ULID here is not the same as omitting it, and is rejected on some operations.

## Response 200:

  - `200` (unknown)
    Transaction list returned successfully

## Response 200 fields (application/json):

  - `total_count` (integer)
    Total number of transactions matching the query.

  - `limit` (integer)
    Maximum number of records returned in this response.

  - `offset` (integer)
    Number of records skipped.

  - `has_more` (boolean)
    Whether additional records exist beyond this result set. If `true`, increment `offset` by `limit` to fetch the next page.

  - `transactions` (array)
    Array of transaction objects matching the query.

  - `transactions.id` (string)
    Unique identifier for the transaction assigned by the API server.

  - `transactions.reference_transaction_id` (string | null)
    The `transaction_id` of the transaction that this request  references, that is, the transaction that this request updated,  captured, canceled, or refunded. Null for original transactions.

  - `transactions.type` (string)
    The type of transaction, as reported on a response. This is not the same set a request may ask for — see `TransactionCreateType`. A cancelled payment is reported as `CANCEL`, never as `VOID`.
    Enum: "SALE", "AUTH", "INCREMENTAL_AUTH", "PAYOUT", "REFUND", "CANCEL", "CAPTURE"

  - `transactions.result` (string)
    Enum: "APPROVED", "DECLINED", "ERROR"

  - `transactions.client_id` (string)
    The `client_id` of the client account that requested this  transaction.

  - `transactions.client_dba` (string)
    Doing Business As (DBA) name of the client account.

  - `transactions.integrations` (array)
    Third-party integrations tied to the merchant account for this transaction. Includes the payment processor that processed the payment and may include additional services (e.g. network token providers) as offerings expand.

  - `transactions.response_code` (string)
    Response code generated by the payment processor.

  - `transactions.response_description` (string)
    Human-readable description of the transaction outcome.

  - `transactions.batch_id` (string | null)
    Unique identifier of the batch containing this transaction. Null when the transaction has not yet been assigned to a batch.

  - `transactions.is_settled` (boolean)
    Whether the transaction is settled.

  - `transactions.settlement_issue` (string | null)
    An issue preventing the transaction from settling. Null when there is no issue — because the transaction was canceled, has already settled, or is still in an open batch. Read `is_settled` to see whether it settled.
    Enum: "REMOVED_FROM_BATCH", null

  - `transactions.is_returned` (boolean)
    Whether the transaction has been returned by the processor. A return is a transaction outcome rather than an API error, it arrives days after the transaction was approved, and it can follow a transaction that has already settled - so read this alongside `is_settled` rather than instead of it. Always false on a card transaction.

  - `transactions.returned_at` (string | null)
    The time the processor sent the return. In ISO-8601 format (YYYY-MM-DDTHH:MM:SS.SSSZ), UTC, matching `time_created`. Null when the transaction has not been returned.

  - `transactions.return_code` (string | null)
    The NACHA return code, three characters. Omitted entirely when the transaction has not been returned, and omitted on a returned transaction the processor sent no code for - not sent as null.

  - `transactions.return_reason` (string | null)
    Human-readable description of the reason the processor returned the transaction. Omitted entirely when the transaction has not been returned, the way `return_code` is - not sent as null.

  - `transactions.time_created` (string)
    the API server generated time indicating when the object was created.  In ISO-8601 format (YYYY-MM-DDTHH:MM:SS.SSSZ).

  - `transactions.amount` (integer)
    Amount in cents (e.g. `10000` = $100.00). All transactions are in US  dollars (USD).

  - `transactions.tip` (integer)
    Tip amount in cents (e.g. `1000` = $10.00). If no tip is included, use `0` or omit the field.
`amount` is the whole charge and `tip` declares how much of it is gratuity. The two are not added together: a $100.00 bill with a $20.00 tip is `amount: 12000` with `tip: 2000`, and the cardholder is charged $120.00. The tip is reported to the processor separately at settlement and never increases the settled amount.
Minimum 0 cents ($0.00). Maximum 99,999,999 cents ($999,999.99). All transactions are in US dollars (USD).

  - `transactions.currency` (string)
    Three-letter ISO 4217 currency code for the transaction.

  - `transactions.payment_method` (any)
    Base schema for payment methods returned on a transaction response. Concrete subtypes are discriminated by the `type` property.
A response reports the underlying instrument, so `type` is `CARD` or `ACH`. Paying with a token is not a third kind of response: send `payment_method.type` of `Token` and the gateway resolves the token to the card or bank account behind it, then reports that. The token itself comes back in `payment_token` on either subtype.

  - `transactions.payment_method.type` (string, required)
    The type of payment method returned on a response. A request supplies a different set of values — see `PaymentMethodTypeInput`.
A token-funded transaction reports the instrument the token resolves to, so there is no separate token value here. `PaymentMethodTypeInput` still accepts `Token` on the way in.
    Enum: "ACH", "CARD"

  - `transactions.payment_method.standard_entry_class` (string)
    ACH Standard Entry Class (SEC) code that defines the transaction type and authorization method.
    Enum: "PPD", "CCD", "WEB", "TEL", "POP", "BOC"

  - `transactions.payment_method.account_type` (string)
    The type of bank account.
    Enum: "CHECKING", "SAVINGS"

  - `transactions.payment_method.route_number_truncated` (string)
    Nine-digit ABA routing number truncated to the last 4 digits.

  - `transactions.payment_method.account_number_truncated` (string)
    Bank account number truncated to the last 4 digits.

  - `transactions.payment_method.payment_token` (string | null)
    Reference to a previously stored (tokenized) payment method. Null when tokenization was not performed or failed.

  - `transactions.payment_method.first_name` (string)
    Account holder's first name. On a transaction response this is the name submitted with the request. On a reporting response it is derived by splitting the stored account holder name at the last space, so a single-word stored name returns an empty string here and puts the whole name in `last_name`.

  - `transactions.payment_method.last_name` (string)
    Account holder's last name.

  - `transactions.payment_method.description` (string)
    Optional information to include on customer's bank  statement. This is a short description that, e.g., identifies the goods or services purchased or the merchant's name. If left blank, the merchant's name will be used as a default description.

  - `transactions.payment_method.truncated_pan` (string)
    Masked card number with only the last 4 digits visible  (e.g. `****1111`).

  - `transactions.payment_method.expiry` (any)
    Card expiration date. Null on capture/void/refund responses where expiry is not echoed back.

  - `transactions.payment_method.expiry.month` (string, required)
    Month of the card expiration date as a two-digit number

  - `transactions.payment_method.expiry.year` (string, required)
    Year of the card expiration date as a four-digit number.

  - `transactions.payment_method.first_name` (string | null)
    First name of the cardholder. Null if not provided.

  - `transactions.payment_method.last_name` (string | null)
    Last name of the cardholder. Null if not provided.

  - `transactions.payment_method.entry_method` (string)
    How the card payment method was entered (e.g. `keyed`, `swiped`,  `chip`, `contactless`, `magstripe`, `barcode`, `qr`, `other`).

  - `transactions.payment_method.auth_code` (string)
    Authorization code generated by the card provider when the card is successfully  authorized.

  - `transactions.payment_method.retrieval_reference_number` (string | null)
    The retrieval reference number (RRN) is a 12-character alphanumeric  identifier assigned to a card transaction to allow the tracking  of a specific transaction record.

  - `transactions.payment_method.card_type` (string)
    The type of card. `UNKNOWN` is returned when the processor cannot determine the card type.
    Enum: "DEBIT", "CREDIT", "UNKNOWN"

  - `transactions.payment_method.card_brand` (string)
    Card network brand (e.g. `Visa`, `Mastercard`, `Amex`, `Discover`).

  - `transactions.payment_method.cvv_result_code` (string | null)
    The result returned from a card verification value check. Null on void/refund responses where CVV is not re-checked.

  - `transactions.payment_method.avs_result_code` (any)
    The result of the Address Verification Service (AVS) check. May be a single-letter string code or integer `0` when AVS was not performed.

  - `transactions.payment_method.avs_response` (string)
    Human-readable AVS response message.

  - `transactions.recurring` (boolean)
    Whether the transaction is part of a recurring payment agreement.

  - `transactions.initiator` (any)
    Who initiated the transaction. Null on a transaction read back through `GET /v1/transactions/{id}`, which does not currently return the value supplied on create. Tracked as a gateway defect — treat the value from the create response as authoritative.

  - `transactions.recurring_details` (any)
    Stored-credential details for the recurring agreement this transaction belongs to. Null on a one-off transaction.

  - `transactions.recurring_details.sequence` (string, required)
    The position of this transaction within a recurring payment agreement.
    Enum: "INITIAL", "SUBSEQUENT"

  - `transactions.recurring_details.initial_transaction_id` (string | null)
    The transaction ID of the initial customer-initiated (CIT) transaction that established the recurring payment agreement. Required when `sequence` is `SUBSEQUENT`; omit (or send `null`) on the `INITIAL` transaction.

  - `transactions.recurring_details.initial_network_transaction_id` (string | null)
    The network-assigned transaction identifier (Visa Transaction ID / Mastercard Trace ID) returned on the initial authorization that established the agreement. Supply this only when the initial transaction was processed outside this gateway (e.g. migration from another provider). When `initial_transaction_id` references a transaction processed by this gateway, the network ID is resolved automatically and this field may be omitted.

  - `transactions.network_transaction_id` (string | null)
    The network-assigned transaction identifier (Visa Transaction ID / Mastercard Trace ID) assigned by the card network. On the initial transaction of a recurring agreement, store this value and supply it as `recurring.initial_network_transaction_id` on subsequent transactions billed against the agreement (required when those transactions are processed by a different gateway). Null when the network did not return an identifier.

  - `transactions.metadata` (object | null)
    Key-value pairs for storing additional information on the transaction. Send `null` to clear all metadata.
At most 50 keys. Keys may contain letters, digits, hyphens, and underscores, up to 40 characters. Values are strings up to 500 characters. Every limit below is enforced; a request that exceeds any of them is rejected.

## Response 200 headers (application/json):

  - `x-request-id` (string, required)
    Unique identifier assigned to the request by the API server. Returned on every response, including errors. Log this value and supply it when contacting support so that a specific request can be traced.

## Response 400:

  - `400` (unknown)
    Bad request

## Response 400 fields (application/json):

  - `error_code` (string)
    The Gateway generated error code.

  - `error_message` (string)
    Human-readable explanation that is specific to this occurrence of the problem.

  - `details` (object | null)
    The field in the request that caused the error. May be null  if not applicable.

  - `source` (object | null)
    Object containing host-processor-specific error information.  May be null if not applicable.

  - `source.system` (string | null)
    The host processor name.

  - `source.code` (string | null)
    The host processor code.

  - `source.message` (string | null)
    The host processor message.

## Response 400 headers (application/json):

  - `x-request-id` (string, required)
    Unique identifier assigned to the request by the API server. Returned on every response, including errors. Log this value and supply it when contacting support so that a specific request can be traced.

## Response 401:

  - `401` (unknown)
    Not authenticated

## Response 401 fields (application/json):

  - `error_code` (string)
    The Gateway generated error code.

  - `error_message` (string)
    Human-readable explanation that is specific to this occurrence of the problem.

  - `details` (object | null)
    The field in the request that caused the error. May be null  if not applicable.

  - `source` (object | null)
    Object containing host-processor-specific error information.  May be null if not applicable.

  - `source.system` (string | null)
    The host processor name.

  - `source.code` (string | null)
    The host processor code.

  - `source.message` (string | null)
    The host processor message.

## Response 401 headers (application/json):

  - `x-request-id` (string, required)
    Unique identifier assigned to the request by the API server. Returned on every response, including errors. Log this value and supply it when contacting support so that a specific request can be traced.

## Response 403:

  - `403` (unknown)
    Forbidden

## Response 403 fields (application/json):

  - `error_code` (string)
    The Gateway generated error code.

  - `error_message` (string)
    Human-readable explanation that is specific to this occurrence of the problem.

  - `details` (object | null)
    The field in the request that caused the error. May be null  if not applicable.

  - `source` (object | null)
    Object containing host-processor-specific error information.  May be null if not applicable.

  - `source.system` (string | null)
    The host processor name.

  - `source.code` (string | null)
    The host processor code.

  - `source.message` (string | null)
    The host processor message.

## Response 403 headers (application/json):

  - `x-request-id` (string, required)
    Unique identifier assigned to the request by the API server. Returned on every response, including errors. Log this value and supply it when contacting support so that a specific request can be traced.

## Response 500:

  - `500` (unknown)
    Internal server error

## Response 500 fields (application/json):

  - `error_code` (string)
    The Gateway generated error code.

  - `error_message` (string)
    Human-readable explanation that is specific to this occurrence of the problem.

  - `details` (object | null)
    The field in the request that caused the error. May be null  if not applicable.

  - `source` (object | null)
    Object containing host-processor-specific error information.  May be null if not applicable.

  - `source.system` (string | null)
    The host processor name.

  - `source.code` (string | null)
    The host processor code.

  - `source.message` (string | null)
    The host processor message.

## Response 500 headers (application/json):

  - `x-request-id` (string, required)
    Unique identifier assigned to the request by the API server. Returned on every response, including errors. Log this value and supply it when contacting support so that a specific request can be traced.

## Response 400 examples:

  - `Invalid field value in the request body` (unknown)

## Response 401 examples:

  - `Missing or invalid API key` (unknown)

## Response 403 examples:

  - `Authenticated but not authorized for this action` (unknown)

## Response 500 examples:

  - `Unhandled server fault or downstream processor error` (unknown)

