Migrating to Cursor Pagination

Learn how to enable cursor pagination for response from Finix's API.


To migrate your requests to use Cursor Pagination:

  1. Send a versioning header with your requests. For more info about including a versioning header, see Versioning .
  2. When you switch to a version that supports pagination, all object responses remain the same, but the page metadata changes:

Old

Copy
Copied
    "page": {
        "offset": 0,
        "limit": 20,
        "count": 1241393
    }

New

Copy
Copied
    "page": {
        "limit": 20,
        "next_cursor": "TRhT44rAqsCQaRQqaEGhHvn9"
    }

Cursor-Based Pagination Requests

Here's an example of a request that uses cursor-based pagination to fetch the last three submitted transfers.

Copy
Copied
curl 'https://finix.sandbox-payments-api.com/transfers?limit=3' \
        -H "Content-Type: application/json" \
        -H 'Finix-Version: 2022-02-01' \
        -u  USsRhsHYZGBPnQw8CByJyEQW:8a14c2f9-d94b-4c72-8f5c-a62908e5b30e

Example Response

Copy
Copied
{
    "_embedded": {
        "transfers": [
            {
                "id": "TRtLhSEAHak7isKjZu9x7Gjh",
                "created_at": "2022-10-10T04:16:27.47Z",
                "updated_at": "2022-10-10T04:17:05.03Z",
                "additional_buyer_charges": null,
                "additional_healthcare_data": null,
                "address_verification": null,
                "amount": 100,
                "amount_requested": 100,
                "application": "APgPDQrLD52TYvqazjHJJchM",
                "currency": "USD",
                "destination": "PIe2YvpcjvoVJ6PzoRPBK137",
                "externally_funded": "UNKNOWN",
                "failure_code": null,
                "failure_message": null,
                "fee": 0,
                "idempotency_id": null,
                "merchant": "MUeDVrf2ahuKc9Eg5TeZugvs",
                "merchant_identity": "IDuqZpDw28f2KK6YuDk4jNLg",
                "messages": [],
                "raw": null,
                "ready_to_settle_at": "2022-10-10T04:17:05.04Z",
                "security_code_verification": null,
                "source": null,
                "state": "SUCCEEDED",
                "statement_descriptor": "FNX*FINIX FLOWERS",
                "subtype": "API",
                "tags": {
                    "test": "refund"
                },
                "trace_id": "e200c5b9-3ac9-4a21-a69e-cd0ffb6c2490",
                "type": "REVERSAL",
                "_links": {
                    "application": {
                        "href": "https://finix.sandbox-payments-api.com/applications/APgPDQrLD52TYvqazjHJJchM"
                    },
                    "self": {
                        "href": "https://finix.sandbox-payments-api.com/transfers/TRtLhSEAHak7isKjZu9x7Gjh"
                    },
                    "merchant_identity": {
                        "href": "https://finix.sandbox-payments-api.com/identities/IDuqZpDw28f2KK6YuDk4jNLg"
                    },
                    "payment_instruments": {
                        "href": "https://finix.sandbox-payments-api.com/transfers/TRtLhSEAHak7isKjZu9x7Gjh/payment_instruments"
                    },
                    "parent": {
                        "href": "https://finix.sandbox-payments-api.com/transfers/TRacB6Q6GcW6yvFUKawSnMEP"
                    },
                    "destination": {
                        "href": "https://finix.sandbox-payments-api.com/payment_instruments/PIe2YvpcjvoVJ6PzoRPBK137"
                    },
                    "fee_profile": {
                        "href": "https://finix.sandbox-payments-api.com/fee_profiles/FPvCQUcnsueN3Bc3zR1qCBG8"
                    }
                }
            },
            {
                "id": "TR2fXt8wHuHxjVPZ1MvrnSU8",
                "created_at": "2022-10-10T03:55:09.70Z",
                "updated_at": "2022-10-10T03:56:04.68Z",
                "additional_buyer_charges": null,
                "additional_healthcare_data": null,
                "address_verification": null,
                "amount": 100,
                "amount_requested": 100,
                "application": "APgPDQrLD52TYvqazjHJJchM",
                "currency": "USD",
                "destination": "PIe2YvpcjvoVJ6PzoRPBK137",
                "externally_funded": "UNKNOWN",
                "failure_code": null,
                "failure_message": null,
                "fee": 0,
                "idempotency_id": null,
                "merchant": "MUeDVrf2ahuKc9Eg5TeZugvs",
                "merchant_identity": "IDuqZpDw28f2KK6YuDk4jNLg",
                "messages": [],
                "raw": null,
                "ready_to_settle_at": "2022-10-10T03:56:04.69Z",
                "security_code_verification": null,
                "source": null,
                "state": "SUCCEEDED",
                "statement_descriptor": "FNX*FINIX FLOWERS",
                "subtype": "API",
                "tags": {
                    "test": "refund"
                },
                "trace_id": "7260b6d8-9974-49c8-aee5-ecbdacfaca3a",
                "type": "REVERSAL",
                "_links": {
                    "application": {
                        "href": "https://finix.sandbox-payments-api.com/applications/APgPDQrLD52TYvqazjHJJchM"
                    },
                    "self": {
                        "href": "https://finix.sandbox-payments-api.com/transfers/TR2fXt8wHuHxjVPZ1MvrnSU8"
                    },
                    "merchant_identity": {
                        "href": "https://finix.sandbox-payments-api.com/identities/IDuqZpDw28f2KK6YuDk4jNLg"
                    },
                    "payment_instruments": {
                        "href": "https://finix.sandbox-payments-api.com/transfers/TR2fXt8wHuHxjVPZ1MvrnSU8/payment_instruments"
                    },
                    "parent": {
                        "href": "https://finix.sandbox-payments-api.com/transfers/TRacB6Q6GcW6yvFUKawSnMEP"
                    },
                    "destination": {
                        "href": "https://finix.sandbox-payments-api.com/payment_instruments/PIe2YvpcjvoVJ6PzoRPBK137"
                    },
                    "fee_profile": {
                        "href": "https://finix.sandbox-payments-api.com/fee_profiles/FPvCQUcnsueN3Bc3zR1qCBG8"
                    }
                }
            },
            {
                "id": "TRuzk139AayVqe1K9eyz18q9",
                "created_at": "2022-10-10T03:52:06.46Z",
                "updated_at": "2022-10-10T03:52:06.46Z",
                "additional_buyer_charges": null,
                "additional_healthcare_data": null,
                "address_verification": null,
                "amount": 30,
                "amount_requested": 30,
                "application": "APgPDQrLD52TYvqazjHJJchM",
                "currency": "USD",
                "destination": null,
                "externally_funded": "FALSE",
                "failure_code": null,
                "failure_message": null,
                "fee": 0,
                "fee_type": "ACH_FIXED",
                "idempotency_id": null,
                "merchant": "MUeDVrf2ahuKc9Eg5TeZugvs",
                "merchant_identity": "IDddHpRqwf2VsH2XB1fmLfhM",
                "messages": [],
                "raw": null,
                "ready_to_settle_at": "2022-10-10T03:52:07.08Z",
                "security_code_verification": null,
                "source": null,
                "state": "SUCCEEDED",
                "statement_descriptor": null,
                "subtype": "PLATFORM_FEE",
                "tags": {},
                "trace_id": "4c7c8ecc-2914-4fe4-8565-985870e532ff",
                "type": "FEE",
                "_links": {
                    "application": {
                        "href": "https://finix.sandbox-payments-api.com/applications/APgPDQrLD52TYvqazjHJJchM"
                    },
                    "self": {
                        "href": "https://finix.sandbox-payments-api.com/transfers/TRuzk139AayVqe1K9eyz18q9"
                    },
                    "merchant_identity": {
                        "href": "https://finix.sandbox-payments-api.com/identities/IDddHpRqwf2VsH2XB1fmLfhM"
                    },
                    "payment_instruments": {
                        "href": "https://finix.sandbox-payments-api.com/transfers/TRuzk139AayVqe1K9eyz18q9/payment_instruments"
                    },
                    "parent": {
                        "href": "https://finix.sandbox-payments-api.com/transfers/TRrfaQBfXkc4wopWK6pcrnoR"
                    },
                    "fee_profile": {
                        "href": "https://finix.sandbox-payments-api.com/fee_profiles/FPvCQUcnsueN3Bc3zR1qCBG8"
                    }
                }
            }
        ]
    },
    "_links": {
        "self": {
            "href": "https://finix.sandbox-payments-api.com/transfers?limit=3"
        },
        "next": {
            "href": "https://finix.sandbox-payments-api.com/transfers?limit=3&after_cursor=TRuzk139AayVqe1K9eyz18q9"
        }
    },
    "page": {
        "limit": 3,
        "next_cursor": "TRuzk139AayVqe1K9eyz18q9"
    }
}

The request returns the three most recent transfers, regardless of the state or value saved in the response.

  • Pass after_cursor=TRt2F1j2ST3ijbsmPVXB6Ztf to get the Transfers that were created after the TRt2F1j2ST3ijbsmPVXB6Ztf resource.
Copy
Copied
curl 'https://finix.sandbox-payments-api.com/transfers?limit=3&after_cursor=TRt2F1j2ST3ijbsmPVXB6Ztf' \
        -H "Content-Type: application/json" \
        -H 'Finix-Version: 2022-02-01' \
        -u  USsRhsHYZGBPnQw8CByJyEQW:8a14c2f9-d94b-4c72-8f5c-a62908e5b30e \
  • Pass before_cursor=TRt2F1j2ST3ijbsmPVXB6Ztf to get the Transfers that were created before the TRt2F1j2ST3ijbsmPVXB6Ztf resource.
Copy
Copied
curl 'https://finix.sandbox-payments-api.com/transfers?limit=3&before_cursor=TRt2F1j2ST3ijbsmPVXB6Ztf' \
        -H "Content-Type: application/json" \
        -H 'Finix-Version: 2022-02-01' \
        -u  USsRhsHYZGBPnQw8CByJyEQW:8a14c2f9-d94b-4c72-8f5c-a62908e5b30e \

Filters

Cursor-based pagination only supports filters on the following endpoints:

  • /transfers
  • /authorizations
  • /payment_instruments
  • /identities

For a list of the filters available on the above endpoints, review the relevant LIST request:

We're actively working on bringing all filters across all endpoints to cursor pagination. Feel free to reach out to the Finix Support Team if you have any questions.