<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/put-your-apis-online-the-easy-and-composable-way-9kwslwbzl" -->

---
title: Put your APIs online the easy and composable way | daily.dev
description: Ngrok describes how to build a composable API gateway using three building blocks: Cloud Endpoints (persistent, globally available entry points), internal...
canonical: https://daily.dev/posts/put-your-apis-online-the-easy-and-composable-way-9kwslwbzl
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Put your APIs online the easy and composable way | daily.dev
og:description: Ngrok describes how to build a composable API gateway using three building blocks: Cloud Endpoints (persistent, globally available entry points), internal...
og:url: https://daily.dev/posts/put-your-apis-online-the-easy-and-composable-way-9kwslwbzl
og:image: https://api.daily.dev/og/posts/9kwSLwbZL.png
og:image:alt: Put your APIs online the easy and composable way
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Put your APIs online the easy and composable way

**[ngrok Blog](https://daily.dev/sources/ngrok)** · 5 min read · 0 upvotes · 0 comments

## Summary

Ngrok describes how to build a composable API gateway using three building blocks: Cloud Endpoints (persistent, globally available entry points), internal Agent Endpoints (created via CLI, Kubernetes Operator, or SDK, reachable only within the ngrok network), and Traffic Policy (a configuration language for orchestrating requests). The forward-internal action connects cloud and internal endpoints, letting teams route by path or subdomain, centralize policies like JWT validation, geoblocking, and rate limiting on cloud endpoints, and attach per-service policies such as URL rewrites, circuit breakers, and custom error pages on individual internal endpoints. The piece walks through example architectures and points readers to docs, tutorials, and an office hours livestream to get started.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://ngrok.com/blog/api-gateway-easy-composable>

---

Tags: [#devops](https://daily.dev/tags/devops), [#devtools](https://daily.dev/tags/devtools), [#api-gateway](https://daily.dev/tags/api-gateway)

[View this post on daily.dev](https://daily.dev/posts/put-your-apis-online-the-easy-and-composable-way-9kwslwbzl)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Put your APIs online the easy and composable way","url":"https://daily.dev/posts/put-your-apis-online-the-easy-and-composable-way-9kwslwbzl","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/put-your-apis-online-the-easy-and-composable-way-9kwslwbzl"},"datePublished":"2026-08-23T07:21:09.686Z","dateModified":"2026-08-23T07:29:05.622Z","description":"Ngrok describes how to build a composable API gateway using three building blocks: Cloud Endpoints (persistent, globally available entry points), internal...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/e4d39a6e176d8296ff790a5c4e120eab?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/e4d39a6e176d8296ff790a5c4e120eab?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"ngrok Blog","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"ngrok Blog","logo":"https://media.daily.dev/image/upload/s--718XXxvE--/f_auto,q_auto/v1787469610/logos/ngrok?_a=BAMAMicg0","url":"https://daily.dev/sources/ngrok"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/put-your-apis-online-the-easy-and-composable-way-9kwslwbzl","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"devops,devtools,api-gateway","timeRequired":"PT5M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"ngrok Blog","item":"https://daily.dev/sources/ngrok"},{"@type":"ListItem","position":3,"name":"Put your APIs online the easy and composable way"}]}
```

