---
title: "Building Integration First APIs | Integration First API | Cyclr"
description: "When developing integration-first APIs for your SaaS there are several features you should look to include to enhance performance."
url: "https://cyclr.com/blog/building-integration-first-apis"
canonical: "https://cyclr.com/blog/building-integration-first-apis"
served_via: "https://cyclr.com/.well-known/agent-markdown"
---

# Building Integration First APIs

*Published on March 21, 2019 by Daniel Twigg*

*Updated on 16th February 2026*

[Blog](https://cyclr.com/blog) » **Building Integration First APIs**

Page Contents

 Toggle ![Graphic image with multiple icons depicting the development of integration first APIs](https://cyclr.com/nitropack_static/sXmTfWgCNjOnvnYlyrLZVbIAkjEZnoiJ/assets/images/optimized/rev-31a2a0c/cyclr.com/wp-content/uploads/2019/03/Building-Integrations-First-APIs@3x-e1612887365968.png)

API development can be a minefield and it can be a challenge to decide how to enhance your platform. This is because there are a variety of protocols, structures and setup options to choose from. While there is no right or wrong way to develop integration first [APIs](https://cyclr.com/blog/what-is-api-integration). There are definitely aspects that merit consideration when developing integration first APIs to facilitate [SaaS integration](https://cyclr.com/blog/what-is-saas-integration).

A few simple additions can set up your API to improve performance, and responsiveness and enable new functionality. In this article, we take a look at a few suggestions for you to consider:

### **Updated Date/Time**

Having an updated date/time field in your API method responses becomes a great advantage. Especially, when looking to [build out integrations](https://cyclr.com/blog/how-cyclr-combines-low-code-and-code-driven-integration-building) that retrieve a few specific relevant records by returning data in date order.

 - Adds the ability to GET new and updated records since the last time integration has run
 - Reduces task usage as you can receive the most relevant records in bulk as a polling event
 - Return data in date order

### **Paging**

Breaking requested [data into multiple API](https://cyclr.com/blog/conducting-data-the-art-of-api-orchestration) responses gives you a fail-safe method to ensure your API is controlled.

 - Paging breaks down the number of records into set chunks (say 200 at a time). This allows you to receive, and send, records in batches (inside arrays) rather than one by one.
 - For example:
 - Both the requesting and receiving systems are set up with a paging of 200 records.
 - GET-ting 20,000 email records would use 100 tasks and POST-ing them directly into another system. With a paging setup, it would use another 100 tasks.
 - 200 tasks used per run
 - Without paging, it would use 1 task to GET all records and 20,000 tasks to POST them one by one.
 - 20,001 tasks used per run

### **Event Driven vs Polling**

RESTful polling methods and event-driven notifications, such as Webhooks, can live in harmony. However, for certain methods, you may need to consider which type would be best for both your architecture and your users.

This decision will be driven by the required speed that an updated/new record should be sent to a subscribed service. As well as the size of the data packet (or the number of records) being sent.

 - Developers should predict whether the number of records being sent in an individual integration is likely to be preferred to be either:
 - Low volume/low latency -> Webhook
 - Low volume/high latency -> Either option
 - High volume/high latency -> GET with long polling cycles
 - High volume/Low latency -> GET with short polling cycles
 - Event-driven integrations, using webhooks, will allow for low latency. However, it would essentially fire the integration one record at a time. If you are expecting high volumes of these events to be triggered you will expect to use more tasks.
 - For integrations that are going to be processing high volumes of records each time it is run, polling will allow you to GET batches of records in one to be processed.
 - This reduces the number of tasks you will use as you will be able to process records in batches.
 - The trade-off is the pre-set amount of time between polling.
 - High volume/Low latency use cases would need to set their polling interval time to the shortest possible amount.

#### **Webhook Auto Setup**

When adding webhook functionality to your platform you can improve user experience with an addition to your API.

By creating POST and DELETE webhook methods to your API it will be possible to automatically set a webhook for your users when they install an integration. This substantially reduces set-up requirements.

### **Authentication**

[Authentication is a must for any API](https://cyclr.com/blog/how-api-authentication-works-managed-authentication) being used to transfer private account data. It is also necessary for any multi-tenant system. While there is a range of authentication types available, we would opt for an OAuth approach.

 - While not the easiest method to set up, OAuth should be your first port of call. Especially for setting up authentication as the long-term benefits outweigh the short-term hassle.
 - Standardised methodology
 - One of the best user experiences
 - More [secure than using basic or API key authentication](https://cyclr.com/blog/api-security-best-practices)

### **Rate Limiting**

Another way to manage and protect your backend access through your API is rate-limiting. This lets you put a [limit on the number of API](https://cyclr.com/resources/api-integration/what-is-rate-limiting) calls a user can make within a time period.

Make sure this is documented, as any connecting system will have to be configured to ensure it doesn’t make more API calls than your API is set up for.

 - Try to identify any limitations of your API, whether imposed for “fairness” reasons or due to hardware constraints. This means they can be set within the Cyclr Connector.  This will avoid unnecessary errors occurring when data is being processed.

### **Data Retrieval Endpoints**

When retrieving data, it can be useful to offer endpoints. These will allow the API Request to decide the “width” of the data that is returned.

This could be done by letting the Request state the Fields to be returned for each object. For example, only the email address for each contact, or perhaps a complete list of Fields.

### **Data Modification Endpoints**

To avoid having to check whether an object already exists, providing an “Add or Update” endpoint – also known as an upsert – is helpful. This takes care of performing the appropriate action.

It may also include some indication of whether a new object was created or an existing one updated in its Response Body.

### **Content-Type**

JSON seems to be the most common way to structure data for both the Request and Response Body. This is because it is clear and legible.

### **Documentation**

As there are no global standards for API structure APIs can vary enormously from one to another. Even ones using the same protocol. This is why documentation is key to every API development project.

It is as important for internal stakeholders to make new versions/iterations of your API. This is because it is for your API users who want to work with it.

 - Documenting your API helps with:
 - Versioning
 - Making your API readable to humans
 - Making amendments and additions to your API
 - A self-generating system such as OpenAPI is ideal
 - Provides API spec in YAML/JSON formats
 - Can be added to Swagger tools to easily provide interactive API documentation
 - Can be used with the Cyclr Connector creation tools

### **Cyclr Specific Fields**

Depending on the [integration delivery](https://cyclr.com/integration-delivery) model you choose, you will need to create and make available fields to:

 - Store your user’s Cyclr username
 - Store your user’s Cyclr password
 - Store your user’s Cyclr account ID

If you want to create accounts in Cyclr on a 1-to-1 basis, you can add all of these new fields to your User table and endpoint.

If you want to create one account in Cyclr per company/organisation in your platform, so you can have multiple users in one account. Then just add the username and password fields to your User table and AccountID to your account/company/organisation table and endpoint.

#### **Other API-related articles**

 [https://cyclr.com/blog/getting-ahead-in-the-api-economy](https://cyclr.com/blog/getting-ahead-in-the-api-economy)

[Getting ahead in the API Economy](https://cyclr.com/blog/getting-ahead-in-the-api-economy)

[How to develop an API](https://cyclr.com/blog/how-to-develop-an-api)

 [https://cyclr.com/blog/rest-vs-soap-vs-graphql-api-types](https://cyclr.com/blog/rest-vs-soap-vs-graphql-api-types)

[Know your API Types](https://cyclr.com/blog/rest-vs-soap-vs-graphql-api-types)

### About Author

#### [Daniel Twigg](https://cyclr.com/author/Daniel)

With over 14 years experience in the Digital Marketing arena, covering industries including IoT, SaaS, fitness, computer gaming and music, Daniel has been Cyclr's marketing manager from the early days of the platform. **[Follow Daniel on LinkedIn](https://www.linkedin.com/in/danieljamestwigg/)**

 [Subscribe to Newsletter](https://cyclr.com/#)

[Case Studies](https://cyclr.com/case-studies)

[Reports](https://cyclr.com/resources/reports)

[Webinars](https://cyclr.com/resources/webinars)

#### Recent Posts

 - [The Ultimate Embedded iPaaS Technical Evaluation Checklist](https://cyclr.com/resources/embedded-ipaas/the-ultimate-embedded-ipaas-technical-evaluation-checklist)
 - [Why Better APIs Matter for AI and LLMs](https://cyclr.com/resources/ai/why-better-apis-matter-for-ai-and-llms)
 - [The evolution of embedded iPaaS – from API integration to AI interoperability](https://cyclr.com/blog/the-evolution-of-embedded-ipaas-from-api-integration-to-ai-interoperability)
 - [Designing Scalable Embedded MCP Integrations for SaaS](https://cyclr.com/resources/ai/designing-scalable-embedded-mcp-integrations-for-saas)
 - [MCP vs Middleware vs Direct API Integrations: How SaaS Teams Should Expose Product Capabilities to AI Agents](https://cyclr.com/resources/ai/mcp-vs-middleware-vs-direct-api-integrations)

 [https://www.g2.com/products/cyclr/reviews](https://www.g2.com/products/cyclr/reviews)

## Let Cyclr handle the integrations.

You focus on building the product your customers love.

 [Start building for free](https://cyclr.com/get-started/request-free-trial) [Get a demo](https://cyclr.com/get-started/book-a-demo)

Embedded iPaaS for SaaS

 [https://www.linkedin.com/company/cyclr-systems/](https://www.linkedin.com/company/cyclr-systems/) [https://www.youtube.com/channel/UCtkjPj2Lq-Ox2q3_e5MRfrg](https://www.youtube.com/channel/UCtkjPj2Lq-Ox2q3_e5MRfrg) [https://www.facebook.com/cyclrautomation](https://www.facebook.com/cyclrautomation)
 - [Embedded iPaaS Overview](https://cyclr.com/product)
 - [SaaS Embedded iPaaS](https://cyclr.com/product)
 - [Service Embedded iPaaS](https://cyclr.com/product/service-embedded-ipaas)
 - [Enterprise Embedded iPaaS](https://cyclr.com/product/branded-embedded-ipaas)
 - [AI Orchestration](https://cyclr.com/ai-orchestration)

 - [Case Studies](https://cyclr.com/case-studies)
 - [Build vs Buy Integration](https://cyclr.com/blog/build-or-buy-choosing-an-integration-solution)
 - [Cyclr Alternatives](https://cyclr.com/alternatives)
 - [Cyclr vs. Paragon](https://cyclr.com/alternatives/cyclr-vs-paragon)
 - [Cyclr vs. Prismatic](https://cyclr.com/alternatives/cyclr-vs-prismatic)

 - [About Us](https://cyclr.com/company/about-us)
 - [Contact](https://cyclr.com/contact)
 - [Blog](https://cyclr.com/blog)
 - [Partner Programme](https://cyclr.com/partners)
 - [Working at Cyclr](https://cyclr.com/company/working-at-cyclr)

### Contact

**UK:** (0330) 010 2525

**US:** (646) 585 2525

CO.5C, Corinthian House, 17 Lansdowne Road, Croydon, CR0 2BX

### Popular Connectors

 - [Salesforce](https://cyclr.com/integrate/salesforce)
 - [HubSpot](https://cyclr.com/integrate/hubspot)
 - [Microsoft Dynamics](https://cyclr.com/integrate/microsoft-dynamics-crm)
 - [Shopify](https://cyclr.com/integrate/shopify)
 - [NetSuite](https://cyclr.com/integrate/netsuite)
 - [Amazon S3](https://cyclr.com/integrate/amazon-s3)
 - [Sage 200](https://cyclr.com/integrate/sage-200)

### Top Connector Categories

 - [Accounting](https://cyclr.com/connectors/category/accounting)
 - [CRM](https://cyclr.com/connectors/category/crms)
 - [Database](https://cyclr.com/connectors/category/databases)
 - [Email Marketing](https://cyclr.com/connectors/category/email-marketing)
 - [ERP](https://cyclr.com/connectors/category/erp)
 - [HR/Payroll](https://cyclr.com/connectors/category/hr-payroll)
 - [Product Management](https://cyclr.com/connectors/category/product-management)

### Trending Resources

 - [What is an Embedded iPaaS?](https://cyclr.com/blog/what-is-an-embedded-ipaas)
 - [SaaS Integration: How do you do it?](https://cyclr.com/blog/how-do-you-integrate-with-multiple-saas-products)
 - [AI Resources](https://cyclr.com/resources/ai)
 - [MCP Use Case Directory Tool](https://cyclr.com/resources/mcp-discovery-tool)
 - [API Integration](https://cyclr.com/resources/api-integration)
 - [Embedded iPaaS](https://cyclr.com/resources/embedded-ipaas)
 - [Cost Calculator](https://cyclr.com/resources/integration-cost-calculator)

### Common Use Cases

 - [SaaS Developers](https://cyclr.com/use-cases/saas-developers)
 - [Product Managers](https://cyclr.com/use-cases/product-managers)
 - [API Teams](https://cyclr.com/use-cases/api-teams)
 - [CFOs](https://cyclr.com/use-cases/cfo-finance-teams)
 - [B2B SaaS Platforms](https://cyclr.com/use-cases/established-saas-platforms)
 - [Enterprise Organizations](https://cyclr.com/enterprise)
 - [Composable Commerce](https://cyclr.com/use-cases/composable-commerce)

 MENUMENU
 - [Website Terms](https://cyclr.com/legal/website)
 - [Privacy Policy](https://cyclr.com/privacy-policy)
 - [Terms and Conditions](https://cyclr.com/terms-and-conditions)
 - [AI Policy](https://cyclr.com/ai-policy)
 - [DPA](https://cyclr.com/data-protection-agreement)
 - [SLA](https://cyclr.com/sla)
 - [GDPR](https://cyclr.com/legal/gdpr-compliance)
 - [Sitemap](https://cyclr.com/sitemap)
 - [Cookie Settings](https://cyclr.com/#)

© 2026 Cyclr Systems Ltd. All rights reserved.

Registered business number: 08790783. VAT Number GB218625701.

## Structured data

```json
{
    "@context": "https://schema.org",
    "@graph": [
        {
            "@type": "TechArticle",
            "@id": "https://cyclr.com/blog/building-integration-first-apis#article",
            "isPartOf": {
                "@id": "https://cyclr.com/blog/building-integration-first-apis"
            },
            "author": {
                "name": "Daniel Twigg",
                "@id": "https://cyclr.com/#/schema/person/378e9a82e489bab6367fc6546a09387e"
            },
            "headline": "Building Integration First APIs",
            "datePublished": "2019-03-21T17:13:32+00:00",
            "dateModified": "2026-02-16T15:37:52+00:00",
            "mainEntityOfPage": {
                "@id": "https://cyclr.com/blog/building-integration-first-apis"
            },
            "wordCount": 1185,
            "commentCount": 0,
            "publisher": {
                "@id": "https://cyclr.com/#organization"
            },
            "image": {
                "@id": "https://cyclr.com/blog/building-integration-first-apis#primaryimage"
            },
            "thumbnailUrl": "https://cyclr.com/wp-content/uploads/2019/03/Building-Integrations-First-APIs@3x-e1612887365968.png",
            "keywords": [
                "API",
                "blog",
                "Cyclr"
            ],
            "articleSection": [
                "API Integration",
                "Blog",
                "SaaS"
            ],
            "inLanguage": "en-GB"
        },
        {
            "@type": "WebPage",
            "@id": "https://cyclr.com/blog/building-integration-first-apis",
            "url": "https://cyclr.com/blog/building-integration-first-apis",
            "name": "Building Integration First APIs | Integration First API | Cyclr",
            "isPartOf": {
                "@id": "https://cyclr.com/#website"
            },
            "primaryImageOfPage": {
                "@id": "https://cyclr.com/blog/building-integration-first-apis#primaryimage"
            },
            "image": {
                "@id": "https://cyclr.com/blog/building-integration-first-apis#primaryimage"
            },
            "thumbnailUrl": "https://cyclr.com/wp-content/uploads/2019/03/Building-Integrations-First-APIs@3x-e1612887365968.png",
            "datePublished": "2019-03-21T17:13:32+00:00",
            "dateModified": "2026-02-16T15:37:52+00:00",
            "description": "When developing integration-first APIs for your SaaS there are several features you should look to include to enhance performance.",
            "breadcrumb": {
                "@id": "https://cyclr.com/blog/building-integration-first-apis#breadcrumb"
            },
            "inLanguage": "en-GB",
            "potentialAction": [
                {
                    "@type": "ReadAction",
                    "target": [
                        "https://cyclr.com/blog/building-integration-first-apis"
                    ]
                }
            ]
        },
        {
            "@type": "ImageObject",
            "inLanguage": "en-GB",
            "@id": "https://cyclr.com/blog/building-integration-first-apis#primaryimage",
            "url": "https://cyclr.com/wp-content/uploads/2019/03/Building-Integrations-First-APIs@3x-e1612887365968.png",
            "contentUrl": "https://cyclr.com/wp-content/uploads/2019/03/Building-Integrations-First-APIs@3x-e1612887365968.png",
            "width": 1200,
            "height": 628,
            "caption": "Graphic image with multiple icons depicting the development of integration first APIs"
        },
        {
            "@type": "BreadcrumbList",
            "@id": "https://cyclr.com/blog/building-integration-first-apis#breadcrumb",
            "itemListElement": [
                {
                    "@type": "ListItem",
                    "position": 1,
                    "name": "Blog",
                    "item": "https://cyclr.com/blog"
                },
                {
                    "@type": "ListItem",
                    "position": 2,
                    "name": "Building Integration First APIs"
                }
            ]
        },
        {
            "@type": "WebSite",
            "@id": "https://cyclr.com/#website",
            "url": "https://cyclr.com/",
            "name": "Cyclr",
            "description": "Embedded iPaaS for scaling SaaS integrations",
            "publisher": {
                "@id": "https://cyclr.com/#organization"
            },
            "potentialAction": [
                {
                    "@type": "SearchAction",
                    "target": {
                        "@type": "EntryPoint",
                        "urlTemplate": "https://cyclr.com/?s={search_term_string}"
                    },
                    "query-input": {
                        "@type": "PropertyValueSpecification",
                        "valueRequired": true,
                        "valueName": "search_term_string"
                    }
                }
            ],
            "inLanguage": "en-GB"
        },
        {
            "@type": "Organization",
            "@id": "https://cyclr.com/#organization",
            "name": "Cyclr",
            "url": "https://cyclr.com/",
            "logo": {
                "@type": "ImageObject",
                "inLanguage": "en-GB",
                "@id": "https://cyclr.com/#/schema/logo/image/",
                "url": "https://cyclr.com/wp-content/uploads/2026/09/cyclr-logo-blue@4x-scaled.png",
                "contentUrl": "https://cyclr.com/wp-content/uploads/2026/09/cyclr-logo-blue@4x-scaled.png",
                "width": 2560,
                "height": 1053,
                "caption": "Cyclr"
            },
            "image": {
                "@id": "https://cyclr.com/#/schema/logo/image/"
            },
            "sameAs": [
                "https://www.facebook.com/cyclrautomation",
                "https://x.com/cyclr",
                "https://www.linkedin.com/company/10066377/",
                "https://www.youtube.com/channel/UCtkjPj2Lq-Ox2q3_e5MRfrg",
                "https://www.g2.com/products/cyclr",
                "https://www.pinterest.co.uk/cyclrsystems/"
            ],
            "description": "Embedded iPaaS for B2B SaaS companies - enabling interoperability between APIs, LLMs, on-prem and Cloud systems, with a secure, multi-tenanted architecture for governance and scaling.",
            "telephone": "(0330) 010 2525",
            "legalName": "Cyclr Systems Limited",
            "vatID": "GB218625701",
            "numberOfEmployees": {
                "@type": "QuantitativeValue",
                "minValue": "11",
                "maxValue": "50"
            },
            "actionableFeedbackPolicy": "https://cyclr.com/legal/website",
            "correctionsPolicy": "https://cyclr.com/legal/website",
            "ethicsPolicy": "https://cyclr.com/company"
        },
        {
            "@type": "Person",
            "@id": "https://cyclr.com/#/schema/person/378e9a82e489bab6367fc6546a09387e",
            "name": "Daniel Twigg",
            "image": {
                "@type": "ImageObject",
                "inLanguage": "en-GB",
                "@id": "https://secure.gravatar.com/avatar/c8d7d17e2946034896c2edbd3b2b68835e603729a80c2f66e984a78483e09997?s=96&d=retro&r=pg",
                "url": "https://secure.gravatar.com/avatar/c8d7d17e2946034896c2edbd3b2b68835e603729a80c2f66e984a78483e09997?s=96&d=retro&r=pg",
                "contentUrl": "https://secure.gravatar.com/avatar/c8d7d17e2946034896c2edbd3b2b68835e603729a80c2f66e984a78483e09997?s=96&d=retro&r=pg",
                "caption": "Daniel Twigg"
            },
            "description": "With over 14 years experience in the Digital Marketing arena, covering industries including IoT, SaaS, fitness, computer gaming and music, Daniel has been Cyclr's marketing manager from the early days of the platform. Follow Daniel on LinkedIn",
            "sameAs": [
                "https://cyclr.com",
                "https://www.linkedin.com/in/danieljamestwigg/"
            ],
            "url": "https://cyclr.com/author/daniel"
        }
    ]
}
{
    "@context": "https://schema.org",
    "@graph": [
        {
            "@context": "https://schema.org",
            "@type": "SiteNavigationElement",
            "@id": "#ez-toc",
            "name": "Updated Date/Time",
            "url": "https://cyclr.com/blog/building-integration-first-apis#updated-datetime"
        },
        {
            "@context": "https://schema.org",
            "@type": "SiteNavigationElement",
            "@id": "#ez-toc",
            "name": "Paging",
            "url": "https://cyclr.com/blog/building-integration-first-apis#paging"
        },
        {
            "@context": "https://schema.org",
            "@type": "SiteNavigationElement",
            "@id": "#ez-toc",
            "name": "Event Driven vs Polling",
            "url": "https://cyclr.com/blog/building-integration-first-apis#event-driven-vs-polling"
        },
        {
            "@context": "https://schema.org",
            "@type": "SiteNavigationElement",
            "@id": "#ez-toc",
            "name": "Webhook Auto Setup",
            "url": "https://cyclr.com/blog/building-integration-first-apis#webhook-auto-setup"
        },
        {
            "@context": "https://schema.org",
            "@type": "SiteNavigationElement",
            "@id": "#ez-toc",
            "name": "Authentication",
            "url": "https://cyclr.com/blog/building-integration-first-apis#authentication"
        },
        {
            "@context": "https://schema.org",
            "@type": "SiteNavigationElement",
            "@id": "#ez-toc",
            "name": "Rate Limiting",
            "url": "https://cyclr.com/blog/building-integration-first-apis#rate-limiting"
        },
        {
            "@context": "https://schema.org",
            "@type": "SiteNavigationElement",
            "@id": "#ez-toc",
            "name": "Data Retrieval Endpoints",
            "url": "https://cyclr.com/blog/building-integration-first-apis#data-retrieval-endpoints"
        },
        {
            "@context": "https://schema.org",
            "@type": "SiteNavigationElement",
            "@id": "#ez-toc",
            "name": "Data Modification Endpoints",
            "url": "https://cyclr.com/blog/building-integration-first-apis#data-modification-endpoints"
        },
        {
            "@context": "https://schema.org",
            "@type": "SiteNavigationElement",
            "@id": "#ez-toc",
            "name": "Content-Type",
            "url": "https://cyclr.com/blog/building-integration-first-apis#content-type"
        },
        {
            "@context": "https://schema.org",
            "@type": "SiteNavigationElement",
            "@id": "#ez-toc",
            "name": "Documentation",
            "url": "https://cyclr.com/blog/building-integration-first-apis#documentation"
        },
        {
            "@context": "https://schema.org",
            "@type": "SiteNavigationElement",
            "@id": "#ez-toc",
            "name": "Cyclr Specific Fields",
            "url": "https://cyclr.com/blog/building-integration-first-apis#cyclr-specific-fields"
        },
        {
            "@context": "https://schema.org",
            "@type": "SiteNavigationElement",
            "@id": "#ez-toc",
            "name": "Other API-related articles",
            "url": "https://cyclr.com/blog/building-integration-first-apis#other-api-related-articles"
        }
    ]
}
```
