zuplo 6.67.32 → 6.68.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (644) hide show
  1. package/README.md +9 -0
  2. package/docs/_index.md +44 -0
  3. package/docs/ai-gateway/apps.mdx +28 -0
  4. package/docs/ai-gateway/custom-providers.mdx +54 -0
  5. package/docs/ai-gateway/getting-started.mdx +224 -0
  6. package/docs/ai-gateway/guardrails.mdx +65 -0
  7. package/docs/ai-gateway/integrations/ai-sdk.mdx +109 -0
  8. package/docs/ai-gateway/integrations/claude-code.mdx +49 -0
  9. package/docs/ai-gateway/integrations/codex.mdx +78 -0
  10. package/docs/ai-gateway/integrations/goose.mdx +104 -0
  11. package/docs/ai-gateway/integrations/langchain.mdx +66 -0
  12. package/docs/ai-gateway/integrations/openai.mdx +99 -0
  13. package/docs/ai-gateway/introduction.mdx +85 -0
  14. package/docs/ai-gateway/managing-apps.mdx +46 -0
  15. package/docs/ai-gateway/managing-providers.mdx +66 -0
  16. package/docs/ai-gateway/managing-teams.mdx +63 -0
  17. package/docs/ai-gateway/policies/akamai-ai-firewall.mdx +125 -0
  18. package/docs/ai-gateway/policies/comet-opik-tracing.mdx +139 -0
  19. package/docs/ai-gateway/policies/galileo-tracing.mdx +147 -0
  20. package/docs/ai-gateway/providers.mdx +32 -0
  21. package/docs/ai-gateway/teams.mdx +38 -0
  22. package/docs/ai-gateway/universal-api.mdx +43 -0
  23. package/docs/ai-gateway/usage-limits.mdx +89 -0
  24. package/docs/api-management/introduction.md +127 -0
  25. package/docs/articles/accounts/audit-logs.mdx +227 -0
  26. package/docs/articles/accounts/billing.mdx +25 -0
  27. package/docs/articles/accounts/default-api-key.mdx +30 -0
  28. package/docs/articles/accounts/delete-account.mdx +36 -0
  29. package/docs/articles/accounts/enterprise-sso.mdx +116 -0
  30. package/docs/articles/accounts/managing-account-members.mdx +45 -0
  31. package/docs/articles/accounts/managing-project-members.mdx +37 -0
  32. package/docs/articles/accounts/members-and-roles.mdx +21 -0
  33. package/docs/articles/accounts/roles-and-permissions.mdx +115 -0
  34. package/docs/articles/accounts/zuplo-api-keys.mdx +94 -0
  35. package/docs/articles/add-api-to-backstage.mdx +216 -0
  36. package/docs/articles/advanced-path-matching.mdx +139 -0
  37. package/docs/articles/api-key-administration.mdx +47 -0
  38. package/docs/articles/api-key-api.mdx +220 -0
  39. package/docs/articles/api-key-authentication.mdx +195 -0
  40. package/docs/articles/api-key-buckets.mdx +61 -0
  41. package/docs/articles/api-key-end-users.mdx +52 -0
  42. package/docs/articles/api-key-leak-detection.mdx +75 -0
  43. package/docs/articles/api-key-management.mdx +100 -0
  44. package/docs/articles/api-key-react-component.mdx +90 -0
  45. package/docs/articles/api-key-service-limits.mdx +14 -0
  46. package/docs/articles/archiving-requests-to-storage.mdx +119 -0
  47. package/docs/articles/branch-based-deployments.mdx +184 -0
  48. package/docs/articles/bypass-policy-for-testing.mdx +117 -0
  49. package/docs/articles/check-ip-address.mdx +17 -0
  50. package/docs/articles/ci-cd-azure/basic-deployment.mdx +49 -0
  51. package/docs/articles/ci-cd-azure/deploy-and-test.mdx +47 -0
  52. package/docs/articles/ci-cd-azure/local-testing.mdx +59 -0
  53. package/docs/articles/ci-cd-azure/multi-stage-deployment.mdx +88 -0
  54. package/docs/articles/ci-cd-azure/pr-preview-environments.mdx +50 -0
  55. package/docs/articles/ci-cd-azure/tag-based-releases.mdx +37 -0
  56. package/docs/articles/ci-cd-bitbucket/basic-deployment.mdx +27 -0
  57. package/docs/articles/ci-cd-bitbucket/deploy-and-test.mdx +41 -0
  58. package/docs/articles/ci-cd-bitbucket/local-testing.mdx +34 -0
  59. package/docs/articles/ci-cd-bitbucket/multi-stage-deployment.mdx +52 -0
  60. package/docs/articles/ci-cd-bitbucket/pr-preview-environments.mdx +46 -0
  61. package/docs/articles/ci-cd-bitbucket/tag-based-releases.mdx +27 -0
  62. package/docs/articles/ci-cd-circleci/basic-deployment.mdx +34 -0
  63. package/docs/articles/ci-cd-circleci/deploy-and-test.mdx +44 -0
  64. package/docs/articles/ci-cd-circleci/local-testing.mdx +50 -0
  65. package/docs/articles/ci-cd-circleci/multi-stage-deployment.mdx +82 -0
  66. package/docs/articles/ci-cd-circleci/pr-preview-environments.mdx +47 -0
  67. package/docs/articles/ci-cd-circleci/tag-based-releases.mdx +38 -0
  68. package/docs/articles/ci-cd-github/basic-deployment.mdx +48 -0
  69. package/docs/articles/ci-cd-github/cleanup-on-branch-delete.mdx +123 -0
  70. package/docs/articles/ci-cd-github/deploy-and-test.mdx +82 -0
  71. package/docs/articles/ci-cd-github/local-testing.mdx +102 -0
  72. package/docs/articles/ci-cd-github/multi-stage-deployment.mdx +136 -0
  73. package/docs/articles/ci-cd-github/pr-preview-environments.mdx +106 -0
  74. package/docs/articles/ci-cd-github/tag-based-releases.mdx +99 -0
  75. package/docs/articles/ci-cd-gitlab/basic-deployment.mdx +28 -0
  76. package/docs/articles/ci-cd-gitlab/deploy-and-test.mdx +44 -0
  77. package/docs/articles/ci-cd-gitlab/local-testing.mdx +39 -0
  78. package/docs/articles/ci-cd-gitlab/mr-preview-environments.mdx +52 -0
  79. package/docs/articles/ci-cd-gitlab/multi-stage-deployment.mdx +64 -0
  80. package/docs/articles/ci-cd-gitlab/tag-based-releases.mdx +28 -0
  81. package/docs/articles/composite-policy-reference.mdx +284 -0
  82. package/docs/articles/configuring-auth0-for-mcp-auth.mdx +186 -0
  83. package/docs/articles/configuring-okta-for-mcp-auth.mdx +208 -0
  84. package/docs/articles/convert-urls-to-openapi.mdx +62 -0
  85. package/docs/articles/cors.mdx +447 -0
  86. package/docs/articles/custom-audit-log-policy.mdx +95 -0
  87. package/docs/articles/custom-ci-cd-azure.mdx +81 -0
  88. package/docs/articles/custom-ci-cd-bitbucket.mdx +80 -0
  89. package/docs/articles/custom-ci-cd-circleci.mdx +78 -0
  90. package/docs/articles/custom-ci-cd-github.mdx +99 -0
  91. package/docs/articles/custom-ci-cd-gitlab.mdx +79 -0
  92. package/docs/articles/custom-ci-cd.mdx +82 -0
  93. package/docs/articles/custom-code-patterns.md +418 -0
  94. package/docs/articles/custom-domains.mdx +258 -0
  95. package/docs/articles/custom-logging-example.mdx +139 -0
  96. package/docs/articles/ddos-protection.mdx +138 -0
  97. package/docs/articles/development-options.mdx +49 -0
  98. package/docs/articles/environment-variables.mdx +134 -0
  99. package/docs/articles/environments.mdx +143 -0
  100. package/docs/articles/fastly-zuplo-host-setup.mdx +41 -0
  101. package/docs/articles/github-deployment-testing.mdx +101 -0
  102. package/docs/articles/gke-with-upstream-auth-policy.mdx +192 -0
  103. package/docs/articles/graphql-security.mdx +180 -0
  104. package/docs/articles/handling-form-data.mdx +61 -0
  105. package/docs/articles/health-checks.mdx +109 -0
  106. package/docs/articles/hosting-options.mdx +70 -0
  107. package/docs/articles/lazy-load-configuration-into-cache.mdx +92 -0
  108. package/docs/articles/limits.mdx +98 -0
  109. package/docs/articles/local-development-debugging.mdx +44 -0
  110. package/docs/articles/local-development-env-variables.mdx +23 -0
  111. package/docs/articles/local-development-installing-packages.mdx +23 -0
  112. package/docs/articles/local-development-routes-designer.mdx +27 -0
  113. package/docs/articles/local-development-services.mdx +40 -0
  114. package/docs/articles/local-development-troubleshooting.mdx +56 -0
  115. package/docs/articles/local-development.mdx +81 -0
  116. package/docs/articles/log-plugin-aws-cloudwatch.mdx +83 -0
  117. package/docs/articles/log-plugin-datadog.mdx +84 -0
  118. package/docs/articles/log-plugin-dynatrace.mdx +75 -0
  119. package/docs/articles/log-plugin-gcp.mdx +75 -0
  120. package/docs/articles/log-plugin-loki.mdx +136 -0
  121. package/docs/articles/log-plugin-new-relic.mdx +84 -0
  122. package/docs/articles/log-plugin-splunk.mdx +104 -0
  123. package/docs/articles/log-plugin-sumo.mdx +73 -0
  124. package/docs/articles/log-plugin-vmware-log-insight.mdx +154 -0
  125. package/docs/articles/log-request-response-data.mdx +398 -0
  126. package/docs/articles/logging.mdx +115 -0
  127. package/docs/articles/manual-mcp-oauth-testing.mdx +193 -0
  128. package/docs/articles/mcp-quickstart.mdx +135 -0
  129. package/docs/articles/metrics-plugins.mdx +371 -0
  130. package/docs/articles/migrate-from-apigee.md +408 -0
  131. package/docs/articles/migrate-from-aws-api-gateway.md +248 -0
  132. package/docs/articles/migrate-from-azure-apim.md +292 -0
  133. package/docs/articles/migrate-from-kong.md +300 -0
  134. package/docs/articles/migration-overview.md +81 -0
  135. package/docs/articles/monetization/api-access.mdx +69 -0
  136. package/docs/articles/monetization/billing-models.md +520 -0
  137. package/docs/articles/monetization/developer-portal.md +167 -0
  138. package/docs/articles/monetization/features.mdx +98 -0
  139. package/docs/articles/monetization/index.mdx +113 -0
  140. package/docs/articles/monetization/meters.mdx +135 -0
  141. package/docs/articles/monetization/monetization-policy.md +314 -0
  142. package/docs/articles/monetization/plan-examples.mdx +366 -0
  143. package/docs/articles/monetization/plans.mdx +266 -0
  144. package/docs/articles/monetization/pricing-models.mdx +225 -0
  145. package/docs/articles/monetization/private-plans.md +154 -0
  146. package/docs/articles/monetization/quickstart.md +355 -0
  147. package/docs/articles/monetization/rate-cards.mdx +171 -0
  148. package/docs/articles/monetization/stripe-integration.md +195 -0
  149. package/docs/articles/monetization/subscription-lifecycle.md +298 -0
  150. package/docs/articles/monetization/tax-collection.md +166 -0
  151. package/docs/articles/monetization/troubleshooting.md +272 -0
  152. package/docs/articles/monetization-custom.mdx +71 -0
  153. package/docs/articles/monetization-integrations.mdx +104 -0
  154. package/docs/articles/monitoring-your-gateway.mdx +53 -0
  155. package/docs/articles/monorepo-deployment.mdx +350 -0
  156. package/docs/articles/multiple-auth-policies.mdx +81 -0
  157. package/docs/articles/non-standard-ports.mdx +30 -0
  158. package/docs/articles/oauth-authentication.mdx +54 -0
  159. package/docs/articles/openapi-server-urls.mdx +60 -0
  160. package/docs/articles/openapi.mdx +130 -0
  161. package/docs/articles/opentelemetry.mdx +250 -0
  162. package/docs/articles/per-user-rate-limits-using-db.mdx +112 -0
  163. package/docs/articles/performance-testing.mdx +304 -0
  164. package/docs/articles/plugin-akamai-api-security.mdx +76 -0
  165. package/docs/articles/plugin-azure-blob.mdx +73 -0
  166. package/docs/articles/plugin-azure-event-hubs.mdx +64 -0
  167. package/docs/articles/plugin-hydrolix-traffic-peak.mdx +147 -0
  168. package/docs/articles/policies.mdx +33 -0
  169. package/docs/articles/rename-or-move-project.mdx +39 -0
  170. package/docs/articles/rick-and-morty-api-developer-portal-example.mdx +23 -0
  171. package/docs/articles/routing.mdx +193 -0
  172. package/docs/articles/s3-signed-url-uploads.mdx +521 -0
  173. package/docs/articles/secure-tunnel.mdx +84 -0
  174. package/docs/articles/securing-backend-mtls.mdx +268 -0
  175. package/docs/articles/securing-your-backend.mdx +148 -0
  176. package/docs/articles/security.mdx +105 -0
  177. package/docs/articles/sharing-code-across-projects.mdx +412 -0
  178. package/docs/articles/source-control-setup-azure.mdx +13 -0
  179. package/docs/articles/source-control-setup-bitbucket.mdx +43 -0
  180. package/docs/articles/source-control-setup-github.mdx +172 -0
  181. package/docs/articles/source-control-setup-gitlab.mdx +12 -0
  182. package/docs/articles/source-control.mdx +80 -0
  183. package/docs/articles/step-1-setup-basic-gateway-local.mdx +136 -0
  184. package/docs/articles/step-1-setup-basic-gateway.mdx +118 -0
  185. package/docs/articles/step-2-add-rate-limiting-local.mdx +126 -0
  186. package/docs/articles/step-2-add-rate-limiting.mdx +82 -0
  187. package/docs/articles/step-3-add-api-key-auth-local.mdx +199 -0
  188. package/docs/articles/step-3-add-api-key-auth.mdx +166 -0
  189. package/docs/articles/step-4-deploying-to-the-edge.mdx +220 -0
  190. package/docs/articles/step-5-dynamic-rate-limiting.mdx +167 -0
  191. package/docs/articles/support.mdx +144 -0
  192. package/docs/articles/terraform.mdx +114 -0
  193. package/docs/articles/testing-graphql.mdx +34 -0
  194. package/docs/articles/testing.mdx +522 -0
  195. package/docs/articles/troubleshooting-slow-responses.mdx +301 -0
  196. package/docs/articles/troubleshooting.md +302 -0
  197. package/docs/articles/tsconfig.mdx +105 -0
  198. package/docs/articles/tunnel-setup.mdx +195 -0
  199. package/docs/articles/tunnel-troubleshooting.mdx +50 -0
  200. package/docs/articles/update-zup-in-github-action.mdx +110 -0
  201. package/docs/articles/use-openapi-extension-data.mdx +79 -0
  202. package/docs/articles/users/multifactor-authentication.mdx +64 -0
  203. package/docs/articles/users/profile.mdx +13 -0
  204. package/docs/articles/versioning-on-zuplo.mdx +89 -0
  205. package/docs/articles/waf-ddos-akamai.md +133 -0
  206. package/docs/articles/waf-ddos-aws-waf-shield.mdx +85 -0
  207. package/docs/articles/waf-ddos-fastly.mdx +251 -0
  208. package/docs/articles/waf-ddos.mdx +140 -0
  209. package/docs/articles/zuplo-waf.mdx +156 -0
  210. package/docs/ask.mdx +3 -0
  211. package/docs/cli/authentication.mdx +56 -0
  212. package/docs/cli/connectivity.mdx +38 -0
  213. package/docs/cli/create-zuplo-api.mdx +80 -0
  214. package/docs/cli/delete.mdx +79 -0
  215. package/docs/cli/deploy.mdx +156 -0
  216. package/docs/cli/deploy.partial.mdx +46 -0
  217. package/docs/cli/dev.mdx +115 -0
  218. package/docs/cli/docs.mdx +66 -0
  219. package/docs/cli/editor.mdx +50 -0
  220. package/docs/cli/global-options.mdx +19 -0
  221. package/docs/cli/init.mdx +74 -0
  222. package/docs/cli/link.mdx +74 -0
  223. package/docs/cli/list.mdx +55 -0
  224. package/docs/cli/mtls-certificate-create.mdx +94 -0
  225. package/docs/cli/mtls-certificate-delete.mdx +55 -0
  226. package/docs/cli/mtls-certificate-describe.mdx +55 -0
  227. package/docs/cli/mtls-certificate-disable.mdx +55 -0
  228. package/docs/cli/mtls-certificate-list.mdx +47 -0
  229. package/docs/cli/mtls-certificate-update.mdx +72 -0
  230. package/docs/cli/openapi-convert.mdx +111 -0
  231. package/docs/cli/openapi-merge.mdx +138 -0
  232. package/docs/cli/openapi-merge.partial.mdx +29 -0
  233. package/docs/cli/openapi-overlay.mdx +123 -0
  234. package/docs/cli/overview.mdx +78 -0
  235. package/docs/cli/project-create.mdx +43 -0
  236. package/docs/cli/source-migrate.mdx +18 -0
  237. package/docs/cli/source-upgrade.mdx +41 -0
  238. package/docs/cli/test.mdx +70 -0
  239. package/docs/cli/test.partial.mdx +7 -0
  240. package/docs/cli/tunnel-create.mdx +53 -0
  241. package/docs/cli/tunnel-create.partial.mdx +9 -0
  242. package/docs/cli/tunnel-delete.mdx +35 -0
  243. package/docs/cli/tunnel-delete.partial.mdx +9 -0
  244. package/docs/cli/tunnel-describe.mdx +45 -0
  245. package/docs/cli/tunnel-describe.partial.mdx +5 -0
  246. package/docs/cli/tunnel-list.mdx +35 -0
  247. package/docs/cli/tunnel-list.partial.mdx +9 -0
  248. package/docs/cli/tunnel-rate-token.partial.mdx +9 -0
  249. package/docs/cli/tunnel-rotate-token.mdx +39 -0
  250. package/docs/cli/tunnel-services-describe.mdx +45 -0
  251. package/docs/cli/tunnel-services-describe.partial.mdx +9 -0
  252. package/docs/cli/tunnel-services-update.mdx +48 -0
  253. package/docs/cli/variable-create.mdx +91 -0
  254. package/docs/cli/variable-create.partial.mdx +5 -0
  255. package/docs/cli/variable-update.mdx +75 -0
  256. package/docs/cli/variable-update.partial.mdx +5 -0
  257. package/docs/concepts/api-keys.md +146 -0
  258. package/docs/concepts/authentication.mdx +109 -0
  259. package/docs/concepts/how-zuplo-works.mdx +120 -0
  260. package/docs/concepts/project-structure.mdx +174 -0
  261. package/docs/concepts/rate-limiting.md +246 -0
  262. package/docs/concepts/request-lifecycle.mdx +56 -0
  263. package/docs/concepts/source-control-and-deployment.mdx +229 -0
  264. package/docs/conferences/conference-prize-terms.mdx +80 -0
  265. package/docs/dedicated/akamai/ai-powered-applications.mdx +223 -0
  266. package/docs/dedicated/akamai/architecture.mdx +280 -0
  267. package/docs/dedicated/akamai/caching.mdx +212 -0
  268. package/docs/dedicated/akamai/cdn.mdx +156 -0
  269. package/docs/dedicated/architecture.mdx +208 -0
  270. package/docs/dedicated/custom-domains.mdx +31 -0
  271. package/docs/dedicated/federated-gateways.mdx +80 -0
  272. package/docs/dedicated/networking.mdx +69 -0
  273. package/docs/dedicated/overview.mdx +80 -0
  274. package/docs/dedicated/source-control.mdx +63 -0
  275. package/docs/dev-portal/dev-portal-create-consumer-on-auth.mdx +134 -0
  276. package/docs/dev-portal/introduction.mdx +65 -0
  277. package/docs/dev-portal/local-development.mdx +72 -0
  278. package/docs/dev-portal/migration.mdx +526 -0
  279. package/docs/dev-portal/node-modules.mdx +45 -0
  280. package/docs/dev-portal/updating.mdx +28 -0
  281. package/docs/dev-portal/zudoku/components/alert.mdx +130 -0
  282. package/docs/dev-portal/zudoku/components/badge.mdx +70 -0
  283. package/docs/dev-portal/zudoku/components/button.mdx +132 -0
  284. package/docs/dev-portal/zudoku/components/callout.mdx +112 -0
  285. package/docs/dev-portal/zudoku/components/card.mdx +104 -0
  286. package/docs/dev-portal/zudoku/components/checkbox.mdx +72 -0
  287. package/docs/dev-portal/zudoku/components/client-only.mdx +79 -0
  288. package/docs/dev-portal/zudoku/components/code-tabs.mdx +179 -0
  289. package/docs/dev-portal/zudoku/components/dialog.mdx +167 -0
  290. package/docs/dev-portal/zudoku/components/head.mdx +199 -0
  291. package/docs/dev-portal/zudoku/components/icons.mdx +27 -0
  292. package/docs/dev-portal/zudoku/components/input.mdx +96 -0
  293. package/docs/dev-portal/zudoku/components/label.mdx +86 -0
  294. package/docs/dev-portal/zudoku/components/link.mdx +242 -0
  295. package/docs/dev-portal/zudoku/components/markdown.mdx +151 -0
  296. package/docs/dev-portal/zudoku/components/mermaid.mdx +81 -0
  297. package/docs/dev-portal/zudoku/components/playground.mdx +87 -0
  298. package/docs/dev-portal/zudoku/components/secret.mdx +78 -0
  299. package/docs/dev-portal/zudoku/components/select.mdx +176 -0
  300. package/docs/dev-portal/zudoku/components/shadcn.mdx +73 -0
  301. package/docs/dev-portal/zudoku/components/slider.mdx +108 -0
  302. package/docs/dev-portal/zudoku/components/slot.mdx +119 -0
  303. package/docs/dev-portal/zudoku/components/stepper.mdx +138 -0
  304. package/docs/dev-portal/zudoku/components/switch.mdx +96 -0
  305. package/docs/dev-portal/zudoku/components/syntax-highlight.mdx +602 -0
  306. package/docs/dev-portal/zudoku/components/textarea.mdx +78 -0
  307. package/docs/dev-portal/zudoku/components/tooltip.mdx +195 -0
  308. package/docs/dev-portal/zudoku/components/typography.mdx +61 -0
  309. package/docs/dev-portal/zudoku/configuration/ai-assistants.md +64 -0
  310. package/docs/dev-portal/zudoku/configuration/api-catalog.md +108 -0
  311. package/docs/dev-portal/zudoku/configuration/api-reference.md +397 -0
  312. package/docs/dev-portal/zudoku/configuration/authentication-auth0.md +173 -0
  313. package/docs/dev-portal/zudoku/configuration/authentication-azure-ad.md +238 -0
  314. package/docs/dev-portal/zudoku/configuration/authentication-clerk.md +110 -0
  315. package/docs/dev-portal/zudoku/configuration/authentication-firebase.md +61 -0
  316. package/docs/dev-portal/zudoku/configuration/authentication-pingfederate.md +136 -0
  317. package/docs/dev-portal/zudoku/configuration/authentication-supabase.md +225 -0
  318. package/docs/dev-portal/zudoku/configuration/authentication.md +199 -0
  319. package/docs/dev-portal/zudoku/configuration/build-configuration.mdx +147 -0
  320. package/docs/dev-portal/zudoku/configuration/docs.md +282 -0
  321. package/docs/dev-portal/zudoku/configuration/footer.mdx +214 -0
  322. package/docs/dev-portal/zudoku/configuration/llms.md +89 -0
  323. package/docs/dev-portal/zudoku/configuration/navigation.mdx +408 -0
  324. package/docs/dev-portal/zudoku/configuration/overview.md +380 -0
  325. package/docs/dev-portal/zudoku/configuration/protected-routes.md +149 -0
  326. package/docs/dev-portal/zudoku/configuration/search.md +169 -0
  327. package/docs/dev-portal/zudoku/configuration/sentry.mdx +44 -0
  328. package/docs/dev-portal/zudoku/configuration/site.md +124 -0
  329. package/docs/dev-portal/zudoku/configuration/slots.mdx +124 -0
  330. package/docs/dev-portal/zudoku/configuration/vite-config.md +18 -0
  331. package/docs/dev-portal/zudoku/custom-plugins.md +287 -0
  332. package/docs/dev-portal/zudoku/customization/colors-theme.mdx +275 -0
  333. package/docs/dev-portal/zudoku/customization/fonts.md +110 -0
  334. package/docs/dev-portal/zudoku/extending/events.md +124 -0
  335. package/docs/dev-portal/zudoku/guides/custom-pages.md +106 -0
  336. package/docs/dev-portal/zudoku/guides/environment-variables.md +99 -0
  337. package/docs/dev-portal/zudoku/guides/mermaid.mdx +70 -0
  338. package/docs/dev-portal/zudoku/guides/navigation-migration.md +87 -0
  339. package/docs/dev-portal/zudoku/guides/navigation-rules.mdx +197 -0
  340. package/docs/dev-portal/zudoku/guides/processors.mdx +234 -0
  341. package/docs/dev-portal/zudoku/guides/static-files.md +55 -0
  342. package/docs/dev-portal/zudoku/guides/transforming-examples.md +156 -0
  343. package/docs/dev-portal/zudoku/guides/using-multiple-apis.md +87 -0
  344. package/docs/dev-portal/zudoku/markdown/admonitions.md +128 -0
  345. package/docs/dev-portal/zudoku/markdown/code-blocks.md +196 -0
  346. package/docs/dev-portal/zudoku/markdown/frontmatter.md +172 -0
  347. package/docs/dev-portal/zudoku/markdown/mdx.md +68 -0
  348. package/docs/dev-portal/zudoku/markdown/overview.md +275 -0
  349. package/docs/dev-portal/zudoku/plugins.md +5 -0
  350. package/docs/dev-portal/zudoku/writing.mdx +72 -0
  351. package/docs/errors/bad-request.mdx +39 -0
  352. package/docs/errors/build-error.mdx +45 -0
  353. package/docs/errors/fatal-project-error.mdx +39 -0
  354. package/docs/errors/gateway-timeout.mdx +33 -0
  355. package/docs/errors/get-head-body-error.mdx +41 -0
  356. package/docs/errors/main-mod-error.mdx +40 -0
  357. package/docs/errors/no-project-set.mdx +41 -0
  358. package/docs/errors/not-found.mdx +43 -0
  359. package/docs/errors/rate-limit-exceeded.mdx +31 -0
  360. package/docs/errors/schema-validation-failed.mdx +51 -0
  361. package/docs/errors/system-configuration-error.mdx +44 -0
  362. package/docs/errors/unauthorized.mdx +50 -0
  363. package/docs/errors/unknown-error.mdx +42 -0
  364. package/docs/errors.mdx +14 -0
  365. package/docs/guides/canary-routing-for-employees.mdx +385 -0
  366. package/docs/guides/geolocation-backend-routing.mdx +404 -0
  367. package/docs/guides/modify-openapi-paths.mdx +371 -0
  368. package/docs/guides/openapi-overlays.mdx +492 -0
  369. package/docs/guides/overview.mdx +12 -0
  370. package/docs/guides/user-based-backend-routing.mdx +437 -0
  371. package/docs/handlers/aws-lambda.mdx +201 -0
  372. package/docs/handlers/custom-handler.mdx +112 -0
  373. package/docs/handlers/legacy-dev-portal-handler.mdx +135 -0
  374. package/docs/handlers/mcp-server.mdx +730 -0
  375. package/docs/handlers/openapi.mdx +78 -0
  376. package/docs/handlers/redirect.mdx +115 -0
  377. package/docs/handlers/system-handlers.mdx +41 -0
  378. package/docs/handlers/url-forward.mdx +204 -0
  379. package/docs/handlers/url-rewrite.mdx +224 -0
  380. package/docs/handlers/websocket-handler.mdx +154 -0
  381. package/docs/home.mdx +6 -0
  382. package/docs/managed-edge/overview.md +78 -0
  383. package/docs/mcp-server/configuration-migration-guide.mdx +344 -0
  384. package/docs/mcp-server/custom-tools.mdx +487 -0
  385. package/docs/mcp-server/graphql.mdx +241 -0
  386. package/docs/mcp-server/introduction.mdx +122 -0
  387. package/docs/mcp-server/openai-apps-sdk.mdx +160 -0
  388. package/docs/mcp-server/prompts.mdx +283 -0
  389. package/docs/mcp-server/resources.mdx +288 -0
  390. package/docs/mcp-server/testing.mdx +53 -0
  391. package/docs/mcp-server/tools.mdx +306 -0
  392. package/docs/policies/_index.md +92 -0
  393. package/docs/policies/ab-test-inbound/intro.md +8 -0
  394. package/docs/policies/ab-test-inbound/policy.ts +14 -0
  395. package/docs/policies/ab-test-inbound/schema.json +27 -0
  396. package/docs/policies/ab-test-outbound/intro.md +8 -0
  397. package/docs/policies/ab-test-outbound/policy.ts +26 -0
  398. package/docs/policies/ab-test-outbound/schema.json +27 -0
  399. package/docs/policies/acl-policy-inbound/intro.md +5 -0
  400. package/docs/policies/acl-policy-inbound/policy.ts +32 -0
  401. package/docs/policies/acl-policy-inbound/schema.json +52 -0
  402. package/docs/policies/akamai-ai-firewall/schema.json +98 -0
  403. package/docs/policies/amberflo-metering-inbound/doc.md +183 -0
  404. package/docs/policies/amberflo-metering-inbound/intro.md +20 -0
  405. package/docs/policies/amberflo-metering-inbound/schema.json +108 -0
  406. package/docs/policies/api-key-inbound/doc.md +77 -0
  407. package/docs/policies/api-key-inbound/intro.md +30 -0
  408. package/docs/policies/api-key-inbound/schema.json +84 -0
  409. package/docs/policies/archive-request-aws-s3-inbound/intro.md +4 -0
  410. package/docs/policies/archive-request-aws-s3-inbound/policy.ts +58 -0
  411. package/docs/policies/archive-request-aws-s3-inbound/schema.json +68 -0
  412. package/docs/policies/archive-request-azure-storage-inbound/doc.md +31 -0
  413. package/docs/policies/archive-request-azure-storage-inbound/intro.md +4 -0
  414. package/docs/policies/archive-request-azure-storage-inbound/policy.ts +54 -0
  415. package/docs/policies/archive-request-azure-storage-inbound/schema.json +53 -0
  416. package/docs/policies/archive-request-gcp-storage-inbound/doc.md +63 -0
  417. package/docs/policies/archive-request-gcp-storage-inbound/intro.md +4 -0
  418. package/docs/policies/archive-request-gcp-storage-inbound/policy.ts +68 -0
  419. package/docs/policies/archive-request-gcp-storage-inbound/schema.json +47 -0
  420. package/docs/policies/archive-response-aws-s3-outbound/intro.md +2 -0
  421. package/docs/policies/archive-response-aws-s3-outbound/policy.ts +59 -0
  422. package/docs/policies/archive-response-aws-s3-outbound/schema.json +68 -0
  423. package/docs/policies/archive-response-azure-storage-outbound/doc.md +31 -0
  424. package/docs/policies/archive-response-azure-storage-outbound/intro.md +3 -0
  425. package/docs/policies/archive-response-azure-storage-outbound/policy.ts +54 -0
  426. package/docs/policies/archive-response-azure-storage-outbound/schema.json +53 -0
  427. package/docs/policies/audit-log-inbound/doc.md +78 -0
  428. package/docs/policies/audit-log-inbound/intro.md +10 -0
  429. package/docs/policies/audit-log-inbound/schema.json +81 -0
  430. package/docs/policies/auth0-jwt-auth-inbound/doc.md +125 -0
  431. package/docs/policies/auth0-jwt-auth-inbound/intro.md +17 -0
  432. package/docs/policies/auth0-jwt-auth-inbound/schema.json +74 -0
  433. package/docs/policies/authzen-inbound/doc.md +24 -0
  434. package/docs/policies/authzen-inbound/intro.md +31 -0
  435. package/docs/policies/authzen-inbound/schema.json +126 -0
  436. package/docs/policies/axiomatics-authz-inbound/doc.md +144 -0
  437. package/docs/policies/axiomatics-authz-inbound/intro.md +11 -0
  438. package/docs/policies/axiomatics-authz-inbound/schema.json +161 -0
  439. package/docs/policies/basic-auth-inbound/intro.md +9 -0
  440. package/docs/policies/basic-auth-inbound/schema.json +99 -0
  441. package/docs/policies/bot-detection-inbound/intro.md +4 -0
  442. package/docs/policies/bot-detection-inbound/schema.json +56 -0
  443. package/docs/policies/brownout-inbound/doc.md +55 -0
  444. package/docs/policies/brownout-inbound/intro.md +12 -0
  445. package/docs/policies/brownout-inbound/schema.json +115 -0
  446. package/docs/policies/caching-inbound/doc.md +209 -0
  447. package/docs/policies/caching-inbound/intro.md +23 -0
  448. package/docs/policies/caching-inbound/schema.json +98 -0
  449. package/docs/policies/change-method-inbound/schema.json +56 -0
  450. package/docs/policies/clear-headers-inbound/schema.json +59 -0
  451. package/docs/policies/clear-headers-outbound/schema.json +59 -0
  452. package/docs/policies/clerk-jwt-auth-inbound/doc.md +85 -0
  453. package/docs/policies/clerk-jwt-auth-inbound/intro.md +4 -0
  454. package/docs/policies/clerk-jwt-auth-inbound/schema.json +68 -0
  455. package/docs/policies/cognito-jwt-auth-inbound/intro.md +7 -0
  456. package/docs/policies/cognito-jwt-auth-inbound/schema.json +74 -0
  457. package/docs/policies/comet-opik-tracing-inbound/schema.json +65 -0
  458. package/docs/policies/complex-rate-limit-inbound/doc.md +20 -0
  459. package/docs/policies/complex-rate-limit-inbound/intro.md +23 -0
  460. package/docs/policies/complex-rate-limit-inbound/schema.json +142 -0
  461. package/docs/policies/composite-inbound/doc.md +69 -0
  462. package/docs/policies/composite-inbound/intro.md +15 -0
  463. package/docs/policies/composite-inbound/schema.json +59 -0
  464. package/docs/policies/composite-outbound/intro.md +6 -0
  465. package/docs/policies/composite-outbound/schema.json +59 -0
  466. package/docs/policies/curity-phantom-token-inbound/doc.md +109 -0
  467. package/docs/policies/curity-phantom-token-inbound/intro.md +3 -0
  468. package/docs/policies/curity-phantom-token-inbound/schema.json +68 -0
  469. package/docs/policies/custom-code-inbound/doc.md +267 -0
  470. package/docs/policies/custom-code-inbound/intro.md +2 -0
  471. package/docs/policies/custom-code-inbound/schema.json +48 -0
  472. package/docs/policies/custom-code-outbound/doc.md +235 -0
  473. package/docs/policies/custom-code-outbound/intro.md +2 -0
  474. package/docs/policies/custom-code-outbound/schema.json +43 -0
  475. package/docs/policies/firebase-jwt-inbound/intro.md +6 -0
  476. package/docs/policies/firebase-jwt-inbound/schema.json +68 -0
  477. package/docs/policies/formdata-to-json-inbound/schema.json +60 -0
  478. package/docs/policies/galileo-tracing-inbound/schema.json +65 -0
  479. package/docs/policies/geo-filter-inbound/doc.md +33 -0
  480. package/docs/policies/geo-filter-inbound/schema.json +108 -0
  481. package/docs/policies/graphql-complexity-limit-inbound/doc.md +48 -0
  482. package/docs/policies/graphql-complexity-limit-inbound/intro.md +2 -0
  483. package/docs/policies/graphql-complexity-limit-inbound/schema.json +90 -0
  484. package/docs/policies/graphql-disable-introspection-inbound/doc.md +66 -0
  485. package/docs/policies/graphql-disable-introspection-inbound/intro.md +15 -0
  486. package/docs/policies/graphql-disable-introspection-inbound/schema.json +48 -0
  487. package/docs/policies/graphql-introspection-filter-outbound/doc.md +148 -0
  488. package/docs/policies/graphql-introspection-filter-outbound/schema.json +79 -0
  489. package/docs/policies/hmac-auth-inbound/doc.md +30 -0
  490. package/docs/policies/hmac-auth-inbound/intro.md +10 -0
  491. package/docs/policies/hmac-auth-inbound/policy.ts +70 -0
  492. package/docs/policies/hmac-auth-inbound/schema.json +53 -0
  493. package/docs/policies/http-deprecation-outbound/doc.md +73 -0
  494. package/docs/policies/http-deprecation-outbound/schema.json +83 -0
  495. package/docs/policies/ip-restriction-inbound/intro.md +8 -0
  496. package/docs/policies/ip-restriction-inbound/policy.ts +40 -0
  497. package/docs/policies/ip-restriction-inbound/schema.json +58 -0
  498. package/docs/policies/jwt-scopes-inbound/schema.json +59 -0
  499. package/docs/policies/ldap-auth-inbound/schema.json +56 -0
  500. package/docs/policies/mock-api-inbound/schema.json +72 -0
  501. package/docs/policies/moesif-inbound/doc.md +44 -0
  502. package/docs/policies/moesif-inbound/intro.md +6 -0
  503. package/docs/policies/moesif-inbound/schema.json +68 -0
  504. package/docs/policies/monetization-inbound/doc.md +87 -0
  505. package/docs/policies/monetization-inbound/intro.md +6 -0
  506. package/docs/policies/monetization-inbound/schema.json +102 -0
  507. package/docs/policies/mtls-auth-inbound/intro.md +6 -0
  508. package/docs/policies/mtls-auth-inbound/schema.json +68 -0
  509. package/docs/policies/okta-fga-authz-inbound/doc.md +181 -0
  510. package/docs/policies/okta-fga-authz-inbound/intro.md +20 -0
  511. package/docs/policies/okta-fga-authz-inbound/schema.json +104 -0
  512. package/docs/policies/okta-jwt-auth-inbound/intro.md +7 -0
  513. package/docs/policies/okta-jwt-auth-inbound/schema.json +74 -0
  514. package/docs/policies/open-id-jwt-auth-inbound/doc.md +58 -0
  515. package/docs/policies/open-id-jwt-auth-inbound/intro.md +30 -0
  516. package/docs/policies/open-id-jwt-auth-inbound/schema.json +128 -0
  517. package/docs/policies/openfga-authz-inbound/doc.md +207 -0
  518. package/docs/policies/openfga-authz-inbound/intro.md +17 -0
  519. package/docs/policies/openfga-authz-inbound/schema.json +191 -0
  520. package/docs/policies/openmeter-inbound/doc.md +163 -0
  521. package/docs/policies/openmeter-inbound/intro.md +18 -0
  522. package/docs/policies/openmeter-inbound/schema.json +183 -0
  523. package/docs/policies/prompt-injection-outbound/doc.md +106 -0
  524. package/docs/policies/prompt-injection-outbound/intro.md +4 -0
  525. package/docs/policies/prompt-injection-outbound/schema.json +74 -0
  526. package/docs/policies/propel-auth-jwt-inbound/doc.md +88 -0
  527. package/docs/policies/propel-auth-jwt-inbound/intro.md +4 -0
  528. package/docs/policies/propel-auth-jwt-inbound/schema.json +74 -0
  529. package/docs/policies/query-param-to-header-inbound/doc.md +70 -0
  530. package/docs/policies/query-param-to-header-inbound/intro.md +5 -0
  531. package/docs/policies/query-param-to-header-inbound/schema.json +74 -0
  532. package/docs/policies/quota-inbound/doc.md +235 -0
  533. package/docs/policies/quota-inbound/intro.md +7 -0
  534. package/docs/policies/quota-inbound/schema.json +133 -0
  535. package/docs/policies/rate-limit-inbound/doc.md +78 -0
  536. package/docs/policies/rate-limit-inbound/intro.md +30 -0
  537. package/docs/policies/rate-limit-inbound/schema.json +134 -0
  538. package/docs/policies/rbac-policy-inbound/intro.md +3 -0
  539. package/docs/policies/rbac-policy-inbound/policy.ts +42 -0
  540. package/docs/policies/rbac-policy-inbound/schema.json +52 -0
  541. package/docs/policies/readme-metrics-inbound/doc.md +1 -0
  542. package/docs/policies/readme-metrics-inbound/intro.md +3 -0
  543. package/docs/policies/readme-metrics-inbound/schema.json +84 -0
  544. package/docs/policies/remove-headers-inbound/schema.json +59 -0
  545. package/docs/policies/remove-headers-outbound/schema.json +59 -0
  546. package/docs/policies/remove-query-params-inbound/schema.json +59 -0
  547. package/docs/policies/replace-string-outbound/schema.json +69 -0
  548. package/docs/policies/request-size-limit-inbound/schema.json +60 -0
  549. package/docs/policies/request-validation-inbound/doc.md +72 -0
  550. package/docs/policies/request-validation-inbound/intro.md +24 -0
  551. package/docs/policies/request-validation-inbound/schema.json +98 -0
  552. package/docs/policies/require-origin-inbound/intro.md +12 -0
  553. package/docs/policies/require-origin-inbound/schema.json +65 -0
  554. package/docs/policies/secret-masking-outbound/doc.md +41 -0
  555. package/docs/policies/secret-masking-outbound/intro.md +13 -0
  556. package/docs/policies/secret-masking-outbound/schema.json +65 -0
  557. package/docs/policies/semantic-cache-inbound/doc.md +63 -0
  558. package/docs/policies/semantic-cache-inbound/intro.md +4 -0
  559. package/docs/policies/semantic-cache-inbound/schema.json +179 -0
  560. package/docs/policies/set-body-inbound/intro.md +7 -0
  561. package/docs/policies/set-body-inbound/schema.json +56 -0
  562. package/docs/policies/set-headers-inbound/doc.md +41 -0
  563. package/docs/policies/set-headers-inbound/intro.md +2 -0
  564. package/docs/policies/set-headers-inbound/schema.json +83 -0
  565. package/docs/policies/set-headers-outbound/schema.json +83 -0
  566. package/docs/policies/set-query-params-inbound/schema.json +83 -0
  567. package/docs/policies/set-status-outbound/schema.json +62 -0
  568. package/docs/policies/sleep-inbound/schema.json +56 -0
  569. package/docs/policies/stripe-webhook-verification-inbound/intro.md +2 -0
  570. package/docs/policies/stripe-webhook-verification-inbound/schema.json +60 -0
  571. package/docs/policies/supabase-jwt-auth-inbound/doc.md +29 -0
  572. package/docs/policies/supabase-jwt-auth-inbound/intro.md +12 -0
  573. package/docs/policies/supabase-jwt-auth-inbound/schema.json +86 -0
  574. package/docs/policies/transform-body-inbound/intro.md +8 -0
  575. package/docs/policies/transform-body-inbound/policy.ts +16 -0
  576. package/docs/policies/transform-body-inbound/schema.json +27 -0
  577. package/docs/policies/transform-body-outbound/intro.md +8 -0
  578. package/docs/policies/transform-body-outbound/policy.ts +19 -0
  579. package/docs/policies/transform-body-outbound/schema.json +27 -0
  580. package/docs/policies/upstream-azure-ad-service-auth-inbound/doc.md +82 -0
  581. package/docs/policies/upstream-azure-ad-service-auth-inbound/intro.md +20 -0
  582. package/docs/policies/upstream-azure-ad-service-auth-inbound/schema.json +84 -0
  583. package/docs/policies/upstream-firebase-admin-auth-inbound/intro.md +10 -0
  584. package/docs/policies/upstream-firebase-admin-auth-inbound/schema.json +68 -0
  585. package/docs/policies/upstream-firebase-user-auth-inbound/intro.md +2 -0
  586. package/docs/policies/upstream-firebase-user-auth-inbound/schema.json +113 -0
  587. package/docs/policies/upstream-gcp-federated-auth-inbound/doc.md +139 -0
  588. package/docs/policies/upstream-gcp-federated-auth-inbound/intro.md +21 -0
  589. package/docs/policies/upstream-gcp-federated-auth-inbound/schema.json +96 -0
  590. package/docs/policies/upstream-gcp-jwt-inbound/intro.md +10 -0
  591. package/docs/policies/upstream-gcp-jwt-inbound/schema.json +62 -0
  592. package/docs/policies/upstream-gcp-service-auth-inbound/doc.md +132 -0
  593. package/docs/policies/upstream-gcp-service-auth-inbound/intro.md +25 -0
  594. package/docs/policies/upstream-gcp-service-auth-inbound/schema.json +95 -0
  595. package/docs/policies/upstream-zuplo-jwt-auth-inbound/doc.md +213 -0
  596. package/docs/policies/upstream-zuplo-jwt-auth-inbound/intro.md +16 -0
  597. package/docs/policies/upstream-zuplo-jwt-auth-inbound/schema.json +101 -0
  598. package/docs/policies/validate-json-schema-inbound/doc.md +129 -0
  599. package/docs/policies/validate-json-schema-inbound/intro.md +7 -0
  600. package/docs/policies/validate-json-schema-inbound/schema.json +56 -0
  601. package/docs/policies/web-bot-auth-inbound/doc.md +104 -0
  602. package/docs/policies/web-bot-auth-inbound/intro.md +16 -0
  603. package/docs/policies/web-bot-auth-inbound/schema.json +76 -0
  604. package/docs/policies/xml-to-json-outbound/doc.md +71 -0
  605. package/docs/policies/xml-to-json-outbound/intro.md +4 -0
  606. package/docs/policies/xml-to-json-outbound/schema.json +117 -0
  607. package/docs/programmable-api/audit-log.mdx +74 -0
  608. package/docs/programmable-api/background-dispatcher.mdx +124 -0
  609. package/docs/programmable-api/background-loader.mdx +104 -0
  610. package/docs/programmable-api/cache.mdx +186 -0
  611. package/docs/programmable-api/compatibility-dates.mdx +201 -0
  612. package/docs/programmable-api/console-logging.mdx +48 -0
  613. package/docs/programmable-api/context-data.mdx +127 -0
  614. package/docs/programmable-api/custom-cors-policy.mdx +64 -0
  615. package/docs/programmable-api/environment.mdx +328 -0
  616. package/docs/programmable-api/hooks.mdx +569 -0
  617. package/docs/programmable-api/http-problems.mdx +385 -0
  618. package/docs/programmable-api/jwt-service-plugin.mdx +420 -0
  619. package/docs/programmable-api/logger.mdx +223 -0
  620. package/docs/programmable-api/memory-zone-read-through-cache.mdx +96 -0
  621. package/docs/programmable-api/node-modules.mdx +67 -0
  622. package/docs/programmable-api/not-found-handler.mdx +47 -0
  623. package/docs/programmable-api/oauth-protected-resource-plugin.mdx +46 -0
  624. package/docs/programmable-api/overview.mdx +213 -0
  625. package/docs/programmable-api/problem-response-formatter.mdx +183 -0
  626. package/docs/programmable-api/request-user.mdx +289 -0
  627. package/docs/programmable-api/reusing-code.mdx +26 -0
  628. package/docs/programmable-api/route-raw.mdx +55 -0
  629. package/docs/programmable-api/runtime-behaviors.mdx +25 -0
  630. package/docs/programmable-api/runtime-errors.mdx +246 -0
  631. package/docs/programmable-api/runtime-extensions.mdx +340 -0
  632. package/docs/programmable-api/safely-clone-a-request-or-response.mdx +57 -0
  633. package/docs/programmable-api/streaming-zone-cache.mdx +155 -0
  634. package/docs/programmable-api/web-crypto-apis.mdx +219 -0
  635. package/docs/programmable-api/web-standard-apis.mdx +109 -0
  636. package/docs/programmable-api/zone-cache.mdx +131 -0
  637. package/docs/programmable-api/zp-body-removed.mdx +32 -0
  638. package/docs/programmable-api/zuplo-context.mdx +414 -0
  639. package/docs/programmable-api/zuplo-id-token.mdx +90 -0
  640. package/docs/programmable-api/zuplo-json.mdx +91 -0
  641. package/docs/programmable-api/zuplo-request.mdx +200 -0
  642. package/docs/sample-apis.mdx +78 -0
  643. package/docs/self-hosted/overview.md +60 -0
  644. package/package.json +6 -5
@@ -0,0 +1,104 @@
1
+ ---
2
+ title: goose
3
+ sidebar_label: Goose
4
+ ---
5
+
6
+ [goose](https://block.github.io/goose/) is a local AI agent and CLI tool for
7
+ automating engineering tasks. It's completely
8
+ [open-source](https://github.com/block/goose) with no vendor lock-in, supports
9
+ local LLMs, has extensive MCP (Model Context Protocol) support, and offers
10
+ powerful extensibility through recipes.
11
+
12
+ ## Prerequisites
13
+
14
+ In order to use the AI Gateway with goose you will need to complete these steps
15
+ first:
16
+
17
+ <Stepper>
18
+
19
+ 1. Create a [new provider](/ai-gateway/managing-providers) in the AI Gateway for
20
+ the provider you want to use with goose
21
+
22
+ 2. [Set up a new team](/ai-gateway/managing-teams)
23
+
24
+ 3. Create a [new app](/ai-gateway/managing-apps) to use specifically with goose
25
+ and assign it to the team you created
26
+
27
+ 4. Copy the API Key for the app you created, as well as the Gateway URL
28
+
29
+ </Stepper>
30
+
31
+ ## Configure goose
32
+
33
+ Because goose can be run as a standalone desktop app and a CLI there are two
34
+ configuration approaches depending on which version you choose.
35
+
36
+ ### CLI
37
+
38
+ <Stepper>
39
+
40
+ 1. Run `goose configure`
41
+
42
+ 2. Select **Configure Providers** from the menu
43
+
44
+ 3. Choose **OpenAI** as the provider you want to add (this will work for any
45
+ OpenAI compatible provider and model)
46
+
47
+ 4. Set the `OPENAI_API_KEY` to the API Key for the app you created for goose in
48
+ Zuplo
49
+
50
+ 5. Set the `OPENAI_HOST` to the URL of your AI Gateway using the Gateway URL
51
+ from your project
52
+
53
+ 6. The `OPENAI_BASE_PATH` may already be configured. If it's not, enter
54
+ `v1/chat/completions` as the value
55
+
56
+ 7. Enter the model you want to use with goose.
57
+
58
+ </Stepper>
59
+
60
+ :::note
61
+
62
+ The provider model you want to use with goose must be selected in the provider
63
+ you created in the Prerequisites step above
64
+
65
+ :::
66
+
67
+ After completing the steps, goose will check the configuration. If all is well
68
+ it will save the configuration and you are ready to start working with goose via
69
+ the AI Gateway.
70
+
71
+ ### Desktop App
72
+
73
+ If you are using the goose desktop application you can add a Custom Provider for
74
+ AI Gateway by following these steps:
75
+
76
+ <Stepper>
77
+
78
+ 1. Open the goose desktop application
79
+
80
+ 2. Click on **Settings**
81
+
82
+ 3. Click on **Configure Providers** to open the Provider settings
83
+
84
+ 4. Click on **Add Custom Provider**
85
+
86
+ 5. Choose a **Provider Type** (both OpenAI Compatible and Anthropic compatible
87
+ will work)
88
+
89
+ 6. Enter a **Display Name** (for example Zuplo AI Gateway)
90
+
91
+ 7. Set the **API URL** to the URL of your Zuplo AI Gateway
92
+
93
+ 8. Set the **API Key** to the API key of the app you created for goose in Zuplo
94
+
95
+ 9. Set the list of **Available Models** to the same list you selected when you
96
+ set up the provider in the Prerequisites step (for example gpt-4o, gpt-5,
97
+ gpt-5-nano)
98
+
99
+ 10. Click on **Create Provider**
100
+
101
+ </Stepper>
102
+
103
+ The Zuplo AI Gateway and associated provider and models will now be available to
104
+ use with the goose desktop application.
@@ -0,0 +1,66 @@
1
+ ---
2
+ title: LangChain
3
+ sidebar_label: LangChain SDK
4
+ ---
5
+
6
+ LangChain is a framework for developing applications that are powered by Large
7
+ Language Models (LLMs). It implements a standard interface for large language
8
+ models and related technologies, such as embedding models and vector stores, and
9
+ integrates with hundreds of providers.
10
+
11
+ ## Prerequisites
12
+
13
+ In order to use the AI Gateway with any LangChain powered application you will
14
+ need to complete these steps first:
15
+
16
+ <Stepper>
17
+
18
+ 1. Create a [new provider](/ai-gateway/managing-providers) in the AI Gateway for
19
+ the provider you want to use with LangChain
20
+
21
+ 2. [Set up a new team](/ai-gateway/managing-teams)
22
+
23
+ 3. Create a [new app](/ai-gateway/managing-apps) to use specifically with
24
+ LangChain and assign it to the team you created
25
+
26
+ 4. Copy the API Key for the app you created, as well as the Gateway URL
27
+
28
+ </Stepper>
29
+
30
+ ## Configure LangChain
31
+
32
+ In this example we will configure LangChain to work with OpenAI (or OpenAI
33
+ compatible models).
34
+
35
+ To work with OpenAI in LangChain it's recommended to use their
36
+ [ChatOpenAI integration](https://python.langchain.com/docs/integrations/chat/openai/).
37
+
38
+ ```python
39
+ import os
40
+ from langchain_openai import ChatOpenAI
41
+
42
+ def init_chat_model():
43
+ """Initialize the ChatOpenAI model"""
44
+ api_key = os.getenv("ZUPLO_AI_GATEWAY_API_KEY")
45
+ if not api_key:
46
+ print("❌ Error: Please set your ZUPLO_AI_GATEWAY_API_KEY in a .env file")
47
+ exit(1)
48
+
49
+ # Check for custom BASE_URL - this is the AI Gateway URL from Zuplo
50
+ base_url = os.getenv("BASE_URL")
51
+
52
+ if base_url:
53
+ return ChatOpenAI(api_key=api_key, model="gpt-4o", base_url=base_url)
54
+ else:
55
+ return ChatOpenAI(api_key=api_key, model="gpt-4o")
56
+ ```
57
+
58
+ In the code above, checks are performed for two environment variables:
59
+
60
+ - `ZUPLO_AI_GATEWAY_API_KEY` - This is the API key of the app you have
61
+ configured to use with LangChain in Zuplo
62
+ - `BASE_URL` - This is the Gateway URL of your AI Gateway project in Zuplo
63
+
64
+ Both of these values are passed to `ChatOpenAI` when it's instantiated,
65
+ switching the configuration from using default OpenAI APIs to using Zuplo's AI
66
+ Gateway for all `gpt-4o` requests that the LangChain SDK will make.
@@ -0,0 +1,99 @@
1
+ ---
2
+ title: OpenAI SDK
3
+ sidebar_label: OpenAI SDK
4
+ ---
5
+
6
+ The
7
+ [OpenAI Node.js SDK](https://platform.openai.com/docs/libraries/node-js-library)
8
+ is the official SDK for working with LLMs provided by OpenAI as well as other
9
+ OpenAI compatible models from other providers in Node.js.
10
+
11
+ ## Prerequisites
12
+
13
+ In order to use the AI Gateway with any OpenAI SDK powered application you will
14
+ need to complete these steps first:
15
+
16
+ <Stepper>
17
+
18
+ 1. Create a [new provider](/ai-gateway/managing-providers) in the AI Gateway for
19
+ OpenAI
20
+
21
+ 2. [Set up a new team](/ai-gateway/managing-teams)
22
+
23
+ 3. Create a [new app](/ai-gateway/managing-apps) to use specifically with the
24
+ OpenAI SDK and assign it to the team you created
25
+
26
+ 4. Copy the API Key for the app you created, as well as the Gateway URL
27
+
28
+ </Stepper>
29
+
30
+ ## Configure the OpenAI SDK
31
+
32
+ To route all OpenAI SDK requests through Zuplo instead of directly to the OpenAI
33
+ API, you must set the API `baseUrl` in the SDK configuration.
34
+
35
+ For example, if your Zuplo application is hosted at
36
+ https://my-ai-gateway.zuplo.app, you can change the base URL in your API client
37
+ to https://my-ai-gateway.zuplo.app/v1.
38
+
39
+ Additionally, change the value of `apiKey` to the API key of the app you have
40
+ configured in Zuplo
41
+
42
+ ```typescript
43
+ import OpenAI from "openai";
44
+
45
+ const client = new OpenAI({
46
+ apiKey: process.env.ZUPLO_AI_GATEWAY_API_KEY,
47
+ baseURL: "https://my-ai-gateway.zuplo.app/v1",
48
+ });
49
+
50
+ const response = await client.chat.completions.create({
51
+ model: "gpt-4",
52
+ messages: [
53
+ {
54
+ role: "user",
55
+ content: "Write a one-sentence bedtime story about a unicorn.",
56
+ },
57
+ ],
58
+ });
59
+
60
+ console.log(response.choices[0].message.content);
61
+ ```
62
+
63
+ When configured in this way, the SDK will switch from using the default OpenAI
64
+ APIs to using Zuplo's AI Gateway for all requests.
65
+
66
+ ## Supported Endpoints
67
+
68
+ The AI Gateway supports all major OpenAI API endpoints through the universal
69
+ API:
70
+
71
+ - **Chat Completions** (`/v1/chat/completions`) - For conversational AI
72
+ interactions
73
+ - **Embeddings** (`/v1/embeddings`) - For generating vector embeddings
74
+ - **Responses** (`/v1/responses`) - For OpenAI models that support the responses
75
+ endpoint (such as GPT-5 and other compatible models)
76
+
77
+ ## Using the Responses Endpoint
78
+
79
+ For models that support the `/v1/responses` endpoint, you can use the OpenAI
80
+ SDK's `responses` API:
81
+
82
+ ```typescript
83
+ import OpenAI from "openai";
84
+
85
+ const client = new OpenAI({
86
+ apiKey: process.env.ZUPLO_AI_GATEWAY_API_KEY,
87
+ baseURL: "https://my-ai-gateway.zuplo.app/v1",
88
+ });
89
+
90
+ const response = await client.responses.create({
91
+ model: "gpt-5",
92
+ input: "Write a one-sentence bedtime story about a unicorn.",
93
+ });
94
+
95
+ console.log(response.output_text);
96
+ ```
97
+
98
+ The responses endpoint is automatically routed through the AI Gateway, providing
99
+ the same monitoring, cost controls, and security features as other endpoints.
@@ -0,0 +1,85 @@
1
+ ---
2
+ title: Zuplo AI Gateway
3
+ sidebar_label: Introduction
4
+ ---
5
+
6
+ Zuplo's AI Gateway acts as an intelligent proxy layer that sits between your
7
+ engineering team's applications and LLM providers like OpenAI, Google Gemini,
8
+ and others. Instead of your applications communicating directly with these
9
+ providers, all requests flow through the Zuplo AI Gateway, which streams
10
+ responses while applying policies, controls, and monitoring.
11
+
12
+ ## Key Benefits
13
+
14
+ **Provider Independence**: Switch between LLM providers (OpenAI, Google Gemini,
15
+ etc.) dynamically without modifying application code. Configure your provider
16
+ choice through the gateway rather than hard coding it into your applications.
17
+
18
+ **Cost Control**: Set spending limits at organization, team, and application
19
+ levels with hierarchical budgets that cascade down through your structure.
20
+ Configure daily and monthly thresholds with enforcement or warning
21
+ notifications.
22
+
23
+ **Security & Compliance**: Apply guardrails to detect and block prompt injection
24
+ attempts and prevent PII leakage in both requests and responses through
25
+ integrated AI firewall policies.
26
+
27
+ **Self-Service Access**: Developers can create applications and access LLMs
28
+ without needing direct access to provider API keys. Administrators configure
29
+ providers once, and teams consume them securely.
30
+
31
+ **Performance Optimization**: Enable semantic caching to identify and return
32
+ cached responses for similar prompts, reducing costs and improving response
33
+ times.
34
+
35
+ **Full Observability**: Real-time dashboards show request counts, token usage,
36
+ time-to-first-byte metrics, and spending patterns across your organization.
37
+
38
+ ## How It Works
39
+
40
+ Your applications send requests to the Zuplo AI Gateway URL using your Zuplo API
41
+ key. The gateway authenticates the request, applies configured policies (cost
42
+ controls, security guardrails), routes to the selected LLM provider, and streams
43
+ the response back to your application. Throughout this process, the gateway
44
+ captures metrics and enforces limits without exposing underlying provider
45
+ credentials.
46
+
47
+ ## Core Features
48
+
49
+ ### Multi-Provider Support
50
+
51
+ Configure multiple LLM providers within a single gateway project. Supported
52
+ providers include OpenAI (GPT-4, GPT-4.5, and other models) and Google Gemini
53
+ (all model variants). Select which models are available to your teams when
54
+ configuring each provider.
55
+
56
+ ### Team Hierarchy & Budgets
57
+
58
+ Organize users into teams with hierarchical structures. Set budget limits at
59
+ each level that cascade down:
60
+
61
+ - **Root Team**: Organization-wide limits (for example, $1,000/day)
62
+ - **Sub-Teams**: Team-specific limits that can't exceed parent limits (for
63
+ example, $500/day for the Credit Team)
64
+ - **Applications**: Per-app limits for granular control
65
+
66
+ ### Application Configuration
67
+
68
+ Each application gets its own:
69
+
70
+ - **Unique Gateway URL**: Single endpoint regardless of underlying provider
71
+ - **API Key**: Zuplo-managed key that never exposes provider credentials
72
+ - **Model Selection**: Choose specific models from configured providers
73
+ - **Budget Thresholds**: Daily and monthly limits with enforcement or warnings
74
+ - **Semantic Caching**: Optional caching of similar prompts to reduce costs
75
+
76
+ ## Use Cases
77
+
78
+ - **Multi-tenant AI Applications**: Enforce spending limits per customer or team
79
+ - **Agent Development**: Build AI agents that can switch providers without code
80
+ changes
81
+ - **Cost Management**: Control and monitor LLM spending across your organization
82
+ - **Security Compliance**: Ensure PII and prompt injection protection across all
83
+ LLM interactions
84
+ - **Performance**: Reduce costs and latency with semantic caching for common
85
+ queries
@@ -0,0 +1,46 @@
1
+ ---
2
+ title: Managing Apps
3
+ ---
4
+
5
+ Apps in the AI Gateway represent any app or integration that will call the AI
6
+ Gateway. For example, you might have a custom support chatbot on your website -
7
+ that chatbot would be an App in the AI Gateway. Each App has its own API Key so
8
+ that usage is tracked independently. Apps are owned by a specific
9
+ [team](./teams.mdx) and can access the AI Providers assigned to that team.
10
+
11
+ ## Creating an App
12
+
13
+ <Stepper>
14
+
15
+ 1. Navigate to the **Apps** tab of your AI Gateway project in the
16
+ [Zuplo Portal](https://portal.zuplo.com).
17
+
18
+ 1. Click on the **Create App** button.
19
+
20
+ 1. Enter the name of your app.
21
+
22
+ 1. Select the team that will own the app.
23
+
24
+ 1. Configure the AI Model that the app will use. You will select the provider,
25
+ model, and embedding model (if applicable).
26
+
27
+ 1. Optionally, you can set usage limits for the app. If you don't set limits,
28
+ the app will use the limits for the team.
29
+
30
+ 1. Click **Create**
31
+
32
+ </Stepper>
33
+
34
+ ## Editing an App
35
+
36
+ To edit an app, navigate to the **Apps** tab of your AI Gateway project in the
37
+ [Zuplo Portal](https://portal.zuplo.com). Select the app you want to edit.
38
+ Select the tab you want to edit (Policies or Settings). Make your changes and
39
+ click the **Save** button.
40
+
41
+ ## Deleting an App
42
+
43
+ To delete an app, navigate to the **Apps** tab of your AI Gateway project in the
44
+ [Zuplo Portal](https://portal.zuplo.com). Select the app you want to delete and
45
+ scroll to the bottom of the page and click the **Delete App** button. You will
46
+ be prompted to confirm the deletion.
@@ -0,0 +1,66 @@
1
+ ---
2
+ title: Managing AI Providers
3
+ sidebar_label: Managing Providers
4
+ ---
5
+
6
+ Zuplo's AI Gateway supports integration with various
7
+ [AI providers](./providers.mdx), allowing you to leverage different models and
8
+ services for your AI applications.
9
+
10
+ ## Adding a New AI Provider
11
+
12
+ To add a new AI provider to your Zuplo AI Gateway, follow these steps:
13
+
14
+ <Stepper>
15
+
16
+ 1. Navigate to the **Settings** > **AI Providers** section of your AI Gateway
17
+ project in the [Zuplo Portal](https://portal.zuplo.com).
18
+
19
+ 1. Click on the **Add Provider** button.
20
+
21
+ 1. Select the desired provider from the list of
22
+ [supported providers](./providers.mdx), or
23
+ [add a custom provider](./custom-providers.mdx).
24
+
25
+ 1. Specify a label for the provider instance to easily identify it later. You
26
+ can change the label later if required.
27
+
28
+ 1. Enter the API Key for the selected provider. For instructions on how to
29
+ create an API key for each provider see the
30
+ [provider documentation](./providers.mdx).
31
+
32
+ 1. Select the model or models you want to use with this provider. The available
33
+ models will depend on the selected provider. This can be changed later.
34
+
35
+ :::tip
36
+
37
+ Click "Select All" to enable all models.
38
+
39
+ :::
40
+
41
+ 1. Click save
42
+
43
+ </Stepper>
44
+
45
+ ## Editing an AI Provider
46
+
47
+ Existing providers can be modified by navigating to the **Settings** > **AI
48
+ Providers** section and clicking the **Edit** button next to the provider you
49
+ want to modify.
50
+
51
+ You can modify the label, API key, and selected models for the provider. After
52
+ making your changes, click **Save** to apply them. Changes are effective
53
+ immediately.
54
+
55
+ :::caution
56
+
57
+ Be careful removing models from a provider that's in use as it may break
58
+ existing applications that rely on the provider.
59
+
60
+ :::
61
+
62
+ ## Deleting an AI Provider
63
+
64
+ Providers that are no longer used within your project can be deleted. To delete
65
+ a provider, navigate to the **Settings** > **AI Providers** section and click
66
+ the **Delete** button next to the provider you want to remove.
@@ -0,0 +1,63 @@
1
+ ---
2
+ title: Managing Teams
3
+ ---
4
+
5
+ Teams in the Zuplo AI Gateway are how users are granted access to AI Providers
6
+ and Apps. Teams are hierarchical with access propagating downward. Teams are
7
+ also where you define usage limits.
8
+
9
+ ## Creating a Team
10
+
11
+ <Stepper>
12
+
13
+ 1. Navigate to the **Teams** tab of your AI Gateway project in the
14
+ [Zuplo Portal](https://portal.zuplo.com).
15
+
16
+ 1. Click on the **Create Team** button.
17
+
18
+ 1. Enter the name of your team.
19
+
20
+ 1. Click **Create**
21
+
22
+ </Stepper>
23
+
24
+ ## Adding Team Members
25
+
26
+ Team members are the users who belong to a team and can access the AI Providers
27
+ and Apps associated with that team.
28
+
29
+ <Stepper>
30
+
31
+ 1. Navigate to the **Teams** tab of your AI Gateway project in the
32
+ [Zuplo Portal](https://portal.zuplo.com).
33
+
34
+ 1. Select the team you want to add members to.
35
+
36
+ 1. Click the **Members** tab.
37
+
38
+ 1. Click **Add Member**.
39
+
40
+ 1. Type the email address of the user you want to add. If the user is already a
41
+ member of your Zuplo account they will be directly added to the team. If they
42
+ don't have an account, they will be invited to join the account and then
43
+ added to the team.
44
+
45
+ 1. Select the role for the user (if your plan supports RBAC). The available
46
+ roles are:
47
+ - **Member**: Can access AI Providers and Apps assigned to the team.
48
+ - **Admin**: Can manage team settings, members, and access AI Providers and
49
+ Apps assigned to the team.
50
+
51
+ :::note
52
+
53
+ RBAC is an optional enterprise add-on. For more information see the
54
+ [document on roles and permissions](../articles/accounts/roles-and-permissions.mdx).
55
+
56
+ :::
57
+
58
+ 1. Click **Add Member** to confirm.
59
+
60
+ 1. The user will receive an email notification if they're being invited to the
61
+ Zuplo account.
62
+
63
+ </Stepper>
@@ -0,0 +1,125 @@
1
+ ---
2
+ title: Akamai AI Firewall
3
+ sidebar_label: Akamai AI Firewall
4
+ ---
5
+
6
+ The Akamai AI Firewall policy integrates
7
+ [Akamai Firewall for AI](https://www.akamai.com/products/firewall-for-ai) with
8
+ the Zuplo AI Gateway, providing enterprise-grade security for AI-powered
9
+ applications, large language models (LLMs), and AI-driven APIs.
10
+
11
+ The Akamai AI Firewall policy secures both inbound AI queries and outbound AI
12
+ responses, protecting against emerging cyber threats specific to generative AI
13
+ applications. By analyzing AI interactions in real-time, the policy detects and
14
+ mitigates AI-specific vulnerabilities that traditional security tools can't
15
+ address.
16
+
17
+ ### Key Security Capabilities
18
+
19
+ The Akamai AI Firewall provides comprehensive protection against AI-specific
20
+ threats:
21
+
22
+ - **Prompt injection defense**: Protects against attackers manipulating AI
23
+ models through deceptive inputs
24
+ - **Data loss prevention (DLP)**: Detects and blocks sensitive data leaks in
25
+ AI-generated responses and incoming requests
26
+ - **Toxic and harmful content filtering**: Flags hate speech, misinformation,
27
+ and offensive content before delivery
28
+ - **Adversarial AI security**: Protects against remote code execution, model
29
+ back doors, and data poisoning attacks
30
+ - **Denial-of-service mitigation**: Controls excessive query usage and model
31
+ overload
32
+
33
+ ## Benefits with Zuplo AI Gateway
34
+
35
+ Integrating Akamai AI Firewall with the Zuplo AI Gateway provides several
36
+ advantages:
37
+
38
+ ### Unified Security Posture
39
+
40
+ Standardized AI security across your entire infrastructure, whether deployed at
41
+ the edge, in the cloud, hybrid, or on-premises environments.
42
+
43
+ ### Automated Threat Detection
44
+
45
+ AI-specific protections work automatically without manual rule tuning,
46
+ leveraging Akamai's global threat intelligence to continuously adapt to emerging
47
+ threats.
48
+
49
+ ### Seamless WAAP Integration
50
+
51
+ Extends web application and API protection (WAAP) capabilities with AI-specific
52
+ defenses, providing comprehensive security for your API gateway.
53
+
54
+ ### Compliance and Governance
55
+
56
+ Helps meet security and compliance standards including data privacy regulations,
57
+ ethical AI usage requirements, and corporate governance mandates through
58
+ detailed audit logs and real-time security analytics.
59
+
60
+ ### Zero Performance Impact
61
+
62
+ The policy operates inline with minimal latency, preserving application
63
+ performance while providing enterprise-grade security.
64
+
65
+ ## How It Works
66
+
67
+ ### AI Traffic Analysis
68
+
69
+ The policy monitors and analyzes AI interactions by inspecting:
70
+
71
+ 1. **Incoming user prompts**: Analyzed before reaching the AI model
72
+ 2. **AI-generated outputs**: Inspected before delivery to end users
73
+
74
+ This dual-layer inspection prevents security risks while maintaining
75
+ performance.
76
+
77
+ ### Risk Scoring
78
+
79
+ AI interactions are evaluated against multiple security indicators, including:
80
+
81
+ - Prompt injection attempts
82
+ - Sensitive data exposure
83
+ - Adversarial exploits
84
+ - Toxic content patterns
85
+ - Abnormal query patterns
86
+
87
+ ### Security Enforcement Actions
88
+
89
+ Based on risk scores and configured policies, the firewall takes one of three
90
+ actions:
91
+
92
+ - **Monitor**: Logs detected threats for analysis without interfering with AI
93
+ queries or responses
94
+ - **Modify**: Adjusts AI-generated outputs inline, removing or altering unsafe
95
+ content while maintaining natural conversation flow
96
+ - **Deny**: Blocks high-risk inputs from reaching the AI model and prevents
97
+ unsafe responses from being returned to users
98
+
99
+ ## Use Cases
100
+
101
+ ### Protecting Customer-Facing AI Chatbots
102
+
103
+ Secure AI-powered customer service applications from prompt injection attacks
104
+ and ensure responses don't leak sensitive customer data or generate toxic
105
+ content.
106
+
107
+ ### Safeguarding Internal AI Tools
108
+
109
+ Protect internal AI assistants and copilots from adversarial exploits while
110
+ preventing unauthorized access to proprietary information.
111
+
112
+ ### Regulatory Compliance
113
+
114
+ Maintain compliance with data protection regulations (GDPR, CCPA, etc.) by
115
+ automatically detecting and blocking sensitive data leaks in AI interactions.
116
+
117
+ ### API Security for AI Services
118
+
119
+ Extend your API security posture to cover AI-specific threats that traditional
120
+ API gateways can't detect.
121
+
122
+ **Additional Resources**
123
+
124
+ - [Akamai Firewall for AI Product Page](https://www.akamai.com/products/firewall-for-ai)
125
+ - [Akamai AI Security Solutions](https://www.akamai.com/solutions/security/ai-security)