APG PayAPG Paydocs

Identity

List API keys

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

Return a page of service tokens. tokenType is required, and so is the party it belongs to, there is no cross-party token read: merchantId for the two merchant types, marketplaceId for a marketplace key, enterpriseId for an enterprise key.

Permissions

Required permission
serviceTokens:query

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

Query parameters

qstring

Search. Matches an API key id or the description. An id, an email address, a phone number and any value listed as matched exactly match exactly; any other term matches without regard to case from the start of a value (or of any word in it, beside a longer word of the term), or anywhere in it from three characters, every word of it somewhere; a term that matches nothing so is read again with typos tolerated. Closest matches come first unless sort is given.

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 ApiKeySort

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

columnsarray of ApiKeyColumn

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

tokenTypeApiKeyType

What kind of token. Omit it to read every kind.

MerchantPublishableMerchantSecretMarketplaceKeyEnterpriseKeyUnknown
merchantIdstring

Whose tokens, for the merchant types.

marketplaceIdstring

Whose tokens, for a marketplace key.

enterpriseIdstring

Whose tokens, for an enterprise key.

statusone of ApiKeyStatus, array of ApiKeyStatus

Filter by status. Repeat the parameter to supply several.

expiredboolean

Only expired tokens, or only unexpired ones.

createdAfterstring (date-time)

Tokens created at or after this ISO-8601 timestamp.

createdBeforestring (date-time)

Tokens created before this ISO-8601 timestamp.

expiresAfterstring (date-time)

Tokens expiring at or after this ISO-8601 timestamp.

expiresBeforestring (date-time)

Tokens expiring before this ISO-8601 timestamp.

Responses

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

Discriminated by type
type = "ApiKeyPageAttributes"
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": "ApiKeyPageAttributes",
  "data": [
    {
      "type": "ApiKeyViewAttributes",
      "apiKeyId": "key_9f2Kd8QpLzXw",
      "description": "string",
      "scope": {
        "type": "ApiKeyScopeEnterprise",
        "enterpriseId": "ent_9f2Kd8QpLzXw"
      },
      "permissions": {
        "type": "ApiKeyPermissionsExplicit",
        "grants": [
          {
            "type": "ApiKeyGrantAttributes",
            "resource": "BlockedCard",
            "actions": [
              "Query"
            ]
          }
        ]
      },
      "status": "Enabled",
      "value": "string",
      "expiresAt": "2026-08-19T04:21:07Z",
      "createdBy": "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