APG PayAPG Paydocs

Merchants

List merchants

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

Return a page of merchants. Supply page for offset pagination or startingAfter for cursor pagination, and q to search. With q the merchants page by page only: startingAfter and endingBefore are refused with 400, and so are several marketplaceId or enterpriseId values or either left out. GET /filter-catalogues/merchants lists the filters this caller can use. A cursor continues only the walk that issued it: sent with different filters, q or sort, it is refused with 400.

Permissions

Required permission
merchants:query

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

Query parameters

qstring

Free-text search. Supplying it engages the search index; omit it to filter only.

pageinteger (int32)

Offset pagination: 1-based page number. Mutually exclusive with the cursor parameters.

startingAfterstring

Cursor pagination, moving forward: the id of the last item on the current page. Mutually exclusive with page.

endingBeforestring

Cursor pagination, moving backward: the id of the first item on the current page. Mutually exclusive with page.

limitinteger (int32)

Maximum items per page.

sortarray of MchtSort

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

columnsarray of MchtColumn

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

statusone of MchtStatus, array of MchtStatus

Only merchants whose status is one of these. Repeat the parameter to give several.

referenceMerchantIdone of array of string, string

Only merchants whose merchant reference is one of these. Repeat the parameter to give several.

marketplaceIdone of array of string, string

Only merchants whose marketplace is one of these. Repeat the parameter to give several.

marketplaceIdNotone of array of string, string

Leave out merchants whose marketplace is one of these. Repeat the parameter to give several.

enterpriseIdone of array of string, string

Only merchants whose enterprise is one of these. Repeat the parameter to give several.

enterpriseIdNotone of array of string, string

Leave out merchants whose enterprise is one of these. Repeat the parameter to give several.

payoutsEnabledboolean

Only merchants with payouts turned on, or only those with them turned off. Reads payoutSettings.payoutsEnabled.

createdAfterstring (date-time)

Only merchants whose creation time is at or after this ISO-8601 timestamp.

createdBeforestring (date-time)

Only merchants whose creation time is at or before this ISO-8601 timestamp.

Responses

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

Discriminated by type
type = "MchtPageAttributes"
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": "MchtPageAttributes",
  "data": [
    {
      "type": "MchtViewStandard",
      "merchantId": "mcht_9f2Kd8QpLzXw",
      "organisationId": "org_9f2Kd8QpLzXw",
      "referenceMerchantId": "your-own-reference",
      "slug": "string",
      "status": "Onboarding",
      "verification": {
        "type": "MchtVerificationAttributes",
        "status": "Pending",
        "errorCodes": [
          "string"
        ],
        "details": [
          "string"
        ]
      },
      "business": {
        "type": "MchtBusinessAttributes",
        "legalName": "Ada Lovelace",
        "brandName": "Ada Lovelace",
        "businessRegistrationNumber": "string",
        "taxRegistrationNumber": "string",
        "country": "AU",
        "website": "string",
        "contactEmail": "ada@example.com"
      },
      "timeZone": "string",
      "publicProfile": {
        "type": "MchtPublicProfileAttributes",
        "brandName": "Ada Lovelace",
        "cardStatementName": "Ada Lovelace",
        "smsSenderName": "Ada Lovelace",
        "website": "string",
        "supportSite": "string"
      },
      "contact": {
        "type": "MchtContactAttributes",
        "firstName": "Ada Lovelace",
        "lastName": "Ada Lovelace",
        "title": "string",
        "contactEmail": "ada@example.com",
        "supportEmail": "ada@example.com",
        "phoneNumber": "+61400000000",
        "address": {
          "type": "MchtAddressAttributes",
          "unitNumber": "string",
          "streetNumber": "string",
          "streetName": "Ada Lovelace",
          "streetType": "string",
          "suburb": "string",
          "city": "string",
          "state": "string",
          "postalCode": "3000",
          "country": "AU"
        }
      },
      "payoutSettings": {
        "type": "MchtPayoutSettingsAttributes",
        "schedule": "Daily",
        "dayOfWeek": "string",
        "dayOfMonth": 6,
        "delayDays": 1250,
        "statementDescriptor": "ADA COFFEE",
        "payoutsEnabled": true,
        "automatedPayoutsEnabled": true,
        "automatedDisbursementsEnabled": true,
        "notificationEmails": [
          "ada@example.com"
        ],
        "remitterName": "Ada Lovelace"
      },
      "billingSettings": {
        "type": "MchtBillingSettingsAttributes",
        "notificationEmails": [
          "ada@example.com"
        ],
        "notificationsEnabled": true,
        "address": {
          "type": "MchtAddressAttributes",
          "unitNumber": "string",
          "streetNumber": "string",
          "streetName": "Ada Lovelace",
          "streetType": "string",
          "suburb": "string",
          "city": "string",
          "state": "string",
          "postalCode": "3000",
          "country": "AU"
        },
        "paymentSourceId": "psrc_9f2Kd8QpLzXw"
      },
      "branding": {
        "type": "MchtBrandingAttributes",
        "logoFileId": "lfile_9f2Kd8QpLzXw",
        "iconFileId": "lfile_9f2Kd8QpLzXw",
        "logoAltText": "string",
        "brandColour": "string"
      },
      "orderSettings": {
        "type": "MchtOrderSettingsAttributes",
        "customFields": [
          {
            "type": "MchtOrderCustomFieldAttributes",
            "key": "string",
            "label": "string",
            "required": true,
            "visibleToPayer": true
          }
        ],
        "notificationEmails": [
          "ada@example.com"
        ],
        "notifyOnPaid": true
      },
      "sourceRules": [
        {
          "type": "MchtRuleAttributes",
          "criterion": {
            "type": "MchtRuleAlways"
          },
          "actions": [
            {
              "type": "MchtRuleAllow"
            }
          ]
        }
      ],
      "usageRules": {
        "type": "MchtUsageRulesAttributes",
        "currencies": {
          "type": "MchtCurrencyAllow",
          "currencies": [
            "AUD"
          ]
        },
        "issuerCountries": {
          "type": "MchtIssuerCountryAllow",
          "countries": [
            "AU"
          ]
        }
      },
      "riskSettings": {
        "type": "MchtRiskSettingsAttributes",
        "settlementType": "Net",
        "bankAccountVerificationRequired": true,
        "bankAccountVerification": {
          "type": "MchtVerificationPolicyAttributes",
          "accept": [
            "Match"
          ],
          "includeResultInResponse": true
        },
        "sourceVerificationEnabled": true,
        "supportedCustomerTypes": [
          "Consumer"
        ],
        "paymentLimits": {
          "type": "MchtPaymentLimitsAttributes",
          "currency": "AUD",
          "minimumPaymentAmount": 1250,
          "maximumPaymentAmount": 1250
        },
        "disputesWaived": true,
        "payoutPriority": 10,
        "showPlatformLogoInTerms": true,
        "showSavedPaymentMethodsInCheckout": true,
        "showReferenceOrderIdToCustomer": true,
        "emailPaymentReceipt": true,
        "emailPaymentFailure": true
      },
      "bankAccounts": [
        {
          "type": "MchtBankAccountAttributes",
          "externalAccountId": "xacc_9f2Kd8QpLzXw",
          "accountName": "Ada Lovelace",
          "last4": "4242",
          "currency": "AUD",
          "isPrimary": true,
          "status": "Active",
          "verificationStatus": "Active"
        }
      ],
      "capabilityTags": [
        "DirectDebit"
      ],
      "createdAt": "2026-08-19T04:21:07Z",
      "updatedAt": "2026-08-19T04:21:07Z"
    }
  ],
  "hasMore": true,
  "nextStartingAfter": "string",
  "totalCount": 42,
  "page": 1250,
  "totalPages": 1250
}

Error responses