Cyclr Community
  • Forums
  • Tutorials
  • Documentation
    • User Documentation
    • Connector Guides
  • Resources
    • New Features
    • Blog
    • Changelog
    • Support Portal
    • Newsletter Archive
    Sign in
    Cyclr Logo
    Cyclr Logo
    • Forums
    • Tutorials
    • Documentation
      • User Documentation
      • Connector Guides
    • Resources
      • New Features
      • Blog
      • Changelog
      • Support Portal
      • Newsletter Archive

    About Cyclr

    6
    • Introduction to Cyclr
    • Minimum requirements
    • Glossary
    • Errors
    • IP Allow List
    • Legal notices

    Cyclr Console

    14
    • Partner Console Dashboard
    • The Builder
    • Reports
    • Console Configuration
    • General Settings
    • Notifications
    • Embedding Customization
    • Security settings
    • Data retention settings
    • Custom Service Domains
    • Handle transaction errors
    • Payload Size Limitations
    • Performance tips
    • GitHub Integration

    Connectors

    33
    • Introduction to Connectors
    • Connectivity Comparison
    • Connector Guides
    • Application Connectors
      • Introduction to Application Connectors
    • Utility Connectors
      • Introduction to Utility Connectors
      • Counter Storage
      • Cross Updating Preventer
      • Data Tools
      • Entity Cross Ref Storage
      • Generic File
      • Generic File Downloader
      • Generic Form
      • Generic Webhook
      • Data Storage
        • Introduction to Data Storage Connectors
        • Global Data Storage
        • Global Object Storage
        • Cycle Data Storage
        • Cycle Object Storage
    • Custom Connectors
      • Introduction to Custom Connectors
      • Methods
      • Triggers
      • Last Successful Run Date
      • Parameters
      • Scripting
      • Data Types
      • Paging
      • Custom Objects
      • Dynamic Custom Fields
      • Automatically Install Webhooks
      • Connector Standards
      • Settings
      • Authentication
      • Rate Limits

    Templates

    17
    • Introduction to Templates
    • Template Settings
    • Create a Template
    • Tools
    • Connectivity Tools
    • Map fields
    • Add Custom Fields
    • Custom Object Method Categories
    • Test Scripts
    • Collection splitting
    • Pass data between two steps
    • Test a template
    • Template versioning
    • Introduction to Cycles
    • Stop a cycle
    • Copy Cycles as Templates
    • Import or Export Templates

    Accounts

    5
    • Introduction to Accounts
    • Account Users
    • Sub Accounts
    • Connector Authentication Link
    • Export or Import Cycles

    Embedding

    17
    • Introduction to Embedding
    • ORBIT
    • Installing a Partner Connector
    • Embed Cyclr in an iFrame
    • Launch
      • Introduction to Launch
      • User Experience
      • Customize Appearance
      • Build Compatible Templates
      • Handle LAUNCH callbacks
      • Deploy LAUNCH
    • Marketplace
      • Introduction to Marketplace
      • Set up a Marketplace
      • Styling Marketplace
      • Deploying a Marketplace
      • Marketplace Callback
      • Marketplace Webhook Callback
      • Marketplace Settings

    API

    19
    • Introduction to the Cyclr API
    • Authentication
    • Authorize Account API calls
    • Install Connectors into an Account
    • Install a Cycle from a Template
    • Step Setup
    • Activate a Cycle
    • Install Connectors
    • Create an Account
    • API Example Walkthrough
    • Connector Authentication
      • Introduction to Connector Authentication
      • API Key Authentication
      • HTTP Basic Authentication
      • OAuth Authentication
    • Data on Demand
      • Introduction to Data on Demand
      • Get Account Connectors
      • Get Connector Methods
      • Call a Connector Method
      • IP Restriction

    Release Notes

    28
    • Introduction to Release Notes
    • 2025
      • 2025-06
      • 2025-05
      • 2025-04
      • 2025-03
      • 2025-02
      • 2025-01
    • 2024
      • 2024-12
      • 2024-11
      • 2024-10
      • 2024-09
      • 2024-08
      • 2024-07
      • 2024-06
      • 2024-05
      • 2024-04
      • 2024-03
      • 2024-02
      • 2024-01
    • 2023
      • 2023-12
      • 2023-11
      • 2023-10
      • 2023-06
      • 2023-05
      • 2023-04
    • Archive
      • Archive
      • 2022
      • 2021
    View Categories
    • Home
    • Documentation
    • Connectors
    • Custom Connectors
    • Paging

    Paging

    3 min read

    Inbound and Outbound Paging #

    So that Cyclr can retrieve more objects than a remote API may allow in one request (some restrict this to 100 objects, for example), it can take advantage of an API’s paging functionality. This is referred to as Inbound Paging. Cyclr will repeatedly request pages of objects until it has retrieved them all.

    When a remote API has a limit on the amount of data that can be sent in a single request, Cyclr will also be able to split large amounts of data that need to be sent into several small requests. This is referred to as Outbound Paging.

    To set a Connector as using Paging, you can use the following Connector-level properties (they default to false – no paging – if not supplied).

    Connector PropertyDescription
    Inbound PagingSet to ‘true’ to activate by default in all appropriate methods.
    Inbound Page SizeSet to the number of records that the API will return with a single call eg 100,
    Outbound Page SizeSet to the number of records that the API will allow posted with a single call eg 100,

    Note that the default for outbound paging is ‘false’ at the Connector level.

    These parameters can be overridden and adjusted at the method level.

    Method PropertyDescription
    Inbound PagingSet to ‘true’ to activate by default in all appropriate methods.
    Inbound Page SizeSet to the number of records that the API will return with a single call eg 100,
    Outbound PagingSet to ‘true’ to activate by default in all appropriate methods.
    Outbound Page SizeSet to the number of records that the API will allow posted with a single call eg 100,

    If values are not set at the method level they are inherited from those specified for the connector.

    Inbound Paging Control Variables #

    When implementing inbound paging in Cyclr, use the following variables.

    Note: These should be entered in the first available Value rather than the Default Value.

    VariableDescription
    CYCLR_PAGE_NUMBERCyclr will use the current page number it’s requesting here as it iterates through them. Use this with APIs that use page numbers and “number of objects to retrieve” values. The initial value will be one.
    CYCLR_PAGE_OFFSETEssentially a “row offset”, starting at 0. Use this with APIs that use offsets and “number of objects to retrieve” values.
    CYCLR_PAGE_SIZEThe number of objects to be requested per page. This is set by the ’Inbound Page Size’ property at the Connector or method level.
    CYCLR_PAGE_NEXT_URLThe field location in the response that contains the next page URL.
    CYCLR_PAGE_TOKENPage token in the response that is used in subsequent requests. This is sometimes called cursor pagination.
    CYCLR_IGNORE_PARAMETERUse this when a Connector-level Parameter exists, but is not valid for a particular Method so should be overridden. You must define the Parameter as normal, but provide the CYCLR_IGNORE_PARAMETER variable as the value to have it ignored.

    Using Paging Variables #

    Example 1 – API using page number and page size #

    In this example the API requires the query string to include the parameters ‘page’ and ‘limit’. Other APIs might use different names for these concepts.

    Target TypeTarget NameDisp NameDescTriggerOptionalHiddenValue
    QueryStringpageNANANANAtrueCYCLR_PAGE_NUMBER
    QueryStringlimitNANANANAtrueCYCLR_PAGE_SIZE

    Example 2 – API using page offset and page size #

    In this example the API requires the query sting to include the parameters ‘offset’ and ‘limit’. Other APIs might use different names for these concepts.

    Target TypeTarget NameDisp NameDescTriggerOptionalHiddenValue
    QueryStringpageNANANANAtrueCYCLR_PAGE_OFFSET
    QueryStringlimitNANANANAtrueCYCLR_PAGE_SIZE

    Example 3 – API using next page URL #

    Target TypeTarget NameDisp NameDescTriggerOptionalHiddenValue
    ResponseFieldresult.nextRecordsUrlNANANANAtrueCYCLR_PAGE_NEXT_URL

    Example 4 – API using page token #

    This is used when the ID of the last resource returned is in a meta field (in the example meta.cursors.after). This field value needs to be passed in the query string in the next request.

    Target TypeTarget NameDisp NameDescTriggerOptionalHiddenValue
    ResponseFieldmeta.cursors.afterNANANANAtrueCYCLR_PAGE_TOKEN
    QueryStringafterNANANANAtrueCYCLR_PAGE_TOKEN

    Example 5 – API using multiple page tokens #

    Target TypeTarget NameDisp NameDescTriggerOptionalHiddenValue
    ResponseFieldmeta.cursors.afterNANANANAtrueCYCLR_PAGE_TOKEN_AFTER
    QueryStringafterNANANANAtrueCYCLR_PAGE_TOKEN_AFTER
    ResponseFieldmeta.cursors.filterNANANANAtrueCYCLR_PAGE_TOKEN_FILTER
    QueryStringfilterNANANANAtrueCYCLR_PAGE_TOKEN_FILTER

    If multiple response fields and query string parameters need to be matched, CYCLR_PAGE_TOKEN can be extended with a suffix that needs to start with an underscore, eg. CYCLR_PAGE_TOKEN_AFTER. When a matching pair is found the response field will populate the query string on subsequent calls.

    Example 6 – API using page token & page number #

    Target TypeTarget NameDisp NameDescTriggerOptionalHiddenValue
    ResponseFieldmeta.cursors.afterNANANANAtrueCYCLR_PAGE_TOKEN
    QueryStringqueryIdNANANANAtrueCYCLR_PAGE_TOKEN
    QueryStringpageNANANANAtrueCYCLR_PAGE_NUMBER
    QueryStringlimitNANANANAtrueCYCLR_PAGE_SIZE

    Outbound Paging Variables #

    Outbound paging only requires one variable to locate the array in the request body. Cyclr identifies when it has “too much” data to pass in one request by comparing it to the PageSizeOutbound property. If it has more, it chops the data into multiple requests automatically.

    Outbound Array Location #

    Use the same notation as request/response format connector field. Specify the location of the array and not a field in the array.

    Examples of outbound paging definitions: #

    "PagedOutboundLocation": "data.[records]"
    Share This Article :
    • Facebook
    • X
    • LinkedIn
    • Pinterest
    Data TypesCustom Objects
    Page Contents
    • Inbound and Outbound Paging
    • Inbound Paging Control Variables
    • Using Paging Variables
      • Example 1 - API using page number and page size
      • Example 2 - API using page offset and page size
      • Example 3 - API using next page URL
      • Example 4 - API using page token
      • Example 5 - API using multiple page tokens
      • Example 6 - API using page token & page number
    • Outbound Paging Variables
      • Outbound Array Location
      • Examples of outbound paging definitions:

    Company

    • Company
    • About Us
    • Security and Compliance
    • Pricing
    • Blog
    • Branding
    • Embedded iPaaS

    Legal

    • Website Terms
    • Privacy Policy
    • Terms and Conditions
    • Data Protection Agreement
    • SLA
    • GDPR

    UK Office

    +44 (0) 3300 102 525

    US Office

    +1 (646) 585-2525


    White labelled API integration framework for creating & managing in-app SaaS integrations.

    © 2025 Cyclr. All rights reserved.