APG PayAPG Paydocs

Merchants

List travel entries

GET/travel-entries
Request
GEThttps://api.tst.au.apgpay.dev/travel-entries
curl -X GET https://api.tst.au.apgpay.dev/travel-entries \
  -H "Authorization: Bearer $API_KEY"

Return a page of travel entries, newest first unless sort says otherwise. Name the owner with merchantId or the Merchant-Id header, or the merchant their files were uploaded for with uploadedForMerchantId; naming neither is a 400. To check that entries belong to a merchant before changing them, query them and read ownerMerchantId. Entries a later file replaced are left out unless includeSuperseded is true. Text filters match any entry that contains the text, and case matters.

Permissions

Required permission
merchantTravelData:query

Requires the `query` action on `merchantTravelData` for the supplied runtime context

Query parameters

pageinteger (int32)

1-based page number.

limitinteger (int32)

Maximum items per page.

sortarray of TvlentSort

Fields to sort by, comma-delimited, in priority order. Prefix a field with - for descending.

columnsarray of TvlentColumn

Columns to include, in order, when asking for text/csv. Omit for all of them. Sending it with application/json is a 400.

merchantIdstring

Whose entries to read. Omit it when the Merchant-Id header names the merchant, or when uploadedForMerchantId is given instead.

travelFileIdstring

Entries from this file.

fileTypeTvlfileType

Narrow to one kind of file.

MerchantBspEnrichmentUnknown
documentNumberstring

Entries whose document number contains this text.

matchStatusTvlentMatchStatus

Narrow to entries at this stage of matching.

NotRequiredWaitingProcessingMatchedFailedUnknown
dbiStatusTvlentDbiStatus

Narrow to entries at this stage of the data-based invoicing check.

NotRequiredWaitingPassedFailedUnknown
validationTvlfileValidation

Narrow to entries that passed or failed their checks.

PassedFailedUnknown
createdFromstring (date-time)

Entries received at or after this instant.

createdTostring (date-time)

Entries received at or before this instant.

uploadedForMerchantIdstring

Entries from files uploaded for this merchant, which for a distributor's file is not the merchant the entries belong to. Given without merchantId, it lists them whoever owns them, for staff; any other caller sees only the entries it also owns.

includeSupersededboolean

List the entries a later file replaced as well as the live ones.

authorisationStatusTvlentAuthStatus

Narrow to entries whose authorisation is at this stage.

NotRequiredWaitingProcessingSucceededFailedUnknown
authorisationRefundStatusTvlentAuthStatus

Narrow to entries whose authorisation refund is at this stage.

NotRequiredWaitingProcessingSucceededFailedUnknown
matchTimedOutboolean

Narrow to entries whose matching has, or has not, given up waiting for the payment.

travelBatchIdstring

Entries from this batch of a file.

agencyDeliveryNoteNumberstring

Entries whose agency delivery note number contains this text. Case matters.

travellerNamestring

Entries whose traveller's name contains this text. Case matters.

transactionIdstring

Entries matched to this payment.

issuerTransactionIdstring

Entries matched to this card transaction.

refundIdstring

Entries matched to this refund.

issuerRefundIdstring

Entries matched to this card refund.

Responses

The response is a tagged shape: type is always "TvlentPageAttributes". Switch on it; subtypes can be added, and a client that already reads it will not break.

Discriminated by type
type = "TvlentPageAttributes"
hasMorebooleanrequired

Whether further items exist after this page.

Example true

nextStartingAfterstring

Id to pass as startingAfter to fetch the next page. Present in cursor mode only.

totalCountinteger (int64)

Total items matching the query.

Example 42

pageinteger (int32)

The 1-based page returned. Present in offset mode only.

Example 1250

totalPagesinteger (int32)

Total pages available. Present in offset mode only.

Example 1250

Example
{
  "type": "TvlentPageAttributes",
  "data": [
    {
      "type": "TvlentViewAttributes",
      "travelEntryId": "tvlent_9f2Kd8QpLzXw",
      "travelFileId": "tvlfile_9f2Kd8QpLzXw",
      "travelBatchId": "tvlbat_9f2Kd8QpLzXw",
      "merchantId": "mcht_9f2Kd8QpLzXw",
      "ownerMerchantId": "mcht_9f2Kd8QpLzXw",
      "fileType": "Merchant",
      "processingDate": "2026-08-19",
      "lineNumber": 1250,
      "serviceKind": "Flight",
      "sign": "Purchase",
      "cardType": "Uatp",
      "hasCardToken": true,
      "documentNumberFormat": "2026-08-19T04:21:07Z",
      "documentNumber": "string",
      "serialNumber": "string",
      "purchaseDate": "2026-08-19",
      "travellerName": "Ada Lovelace",
      "amounts": {
        "type": "TvlentAmountsAttributes",
        "currency": "AUD",
        "amount": 1250,
        "netAmountNonVatable": 1250,
        "netAmountVatable": 1250,
        "vatAmount": 1250,
        "refundedAmount": 1250,
        "vatPercentage": "string",
        "vatIndicator": "string"
      },
      "approvalCode": "string",
      "merchantDetails": {
        "type": "TvlentMerchantDetailsAttributes",
        "name": "Ada Lovelace",
        "city": "string",
        "zipCode": "string",
        "stateCode": "string",
        "iataNumber": "string",
        "invoiceNumber": "string",
        "orderNumber": "string",
        "customerNumber": "string",
        "agencyDossierNumber": "string",
        "agencyDeliveryNoteNumber": "string"
      },
      "usageCode": "string",
      "validation": "Passed",
      "dbi": {
        "type": "TvlentDbiAttributes",
        "pk": "string",
        "ds": "string",
        "ks": "string",
        "ae": "string",
        "ik": "string",
        "bd": "2026-08-19",
        "pr": "string",
        "au": "string",
        "ak": "string",
        "rz": "string",
        "status": "NotRequired",
        "statusAt": "2026-08-19T04:21:07Z",
        "statusMessage": "Active",
        "mandatoryFields": "string"
      },
      "authorisation": {
        "type": "TvlentAuthorisationAttributes",
        "operator": "ApgPay",
        "status": "NotRequired",
        "statusAt": "2026-08-19T04:21:07Z",
        "statusMessage": "Active",
        "refundStatus": "NotRequired",
        "refundStatusAt": "2026-08-19T04:21:07Z"
      },
      "matching": {
        "type": "TvlentMatchAttributes",
        "status": "NotRequired",
        "statusAt": "2026-08-19T04:21:07Z",
        "statusMessage": "Active",
        "timedOut": true,
        "needsManualOriginalMatch": true,
        "originalTravelEntryId": "tvlent_9f2Kd8QpLzXw",
        "transactionId": "tran_9f2Kd8QpLzXw",
        "refundId": "rfnd_9f2Kd8QpLzXw",
        "issuerTransactionId": "itxn_9f2Kd8QpLzXw",
        "issuerRefundId": "rfnd_9f2Kd8QpLzXw",
        "loanId": "loan_9f2Kd8QpLzXw",
        "customerId": "cust_9f2Kd8QpLzXw"
      },
      "enabled": true,
      "serviceLines": [
        {
          "type": "TvlentServiceLineCar",
          "currency": "AUD",
          "rentalCompanyCode": "string",
          "contractNumber": "string",
          "vehicleClassCode": "string",
          "vehicleType": "string",
          "noShow": true,
          "pickUpDate": "2026-08-19",
          "pickUpTime": "string",
          "pickUpLocationCode": "string",
          "pickUpLocationCity": "string",
          "returnDate": "2026-08-19",
          "returnTime": "string",
          "returnLocationCode": "string",
          "returnLocationCity": "string",
          "rentalDays": 1250,
          "mileageIndicator": "string",
          "drivenDistance": "string",
          "charges": [
            {
              "type": "TvlentCarChargeAttributes",
              "kind": "string",
              "amount": 1250,
              "vatIndicator": "string"
            }
          ]
        }
      ],
      "createdAt": "2026-08-19T04:21:07Z",
      "updatedAt": "2026-08-19T04:21:07Z"
    }
  ],
  "hasMore": true,
  "nextStartingAfter": "string",
  "totalCount": 42,
  "page": 1250,
  "totalPages": 1250
}

Error responses