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.
- package/README.md +9 -0
- package/docs/_index.md +44 -0
- package/docs/ai-gateway/apps.mdx +28 -0
- package/docs/ai-gateway/custom-providers.mdx +54 -0
- package/docs/ai-gateway/getting-started.mdx +224 -0
- package/docs/ai-gateway/guardrails.mdx +65 -0
- package/docs/ai-gateway/integrations/ai-sdk.mdx +109 -0
- package/docs/ai-gateway/integrations/claude-code.mdx +49 -0
- package/docs/ai-gateway/integrations/codex.mdx +78 -0
- package/docs/ai-gateway/integrations/goose.mdx +104 -0
- package/docs/ai-gateway/integrations/langchain.mdx +66 -0
- package/docs/ai-gateway/integrations/openai.mdx +99 -0
- package/docs/ai-gateway/introduction.mdx +85 -0
- package/docs/ai-gateway/managing-apps.mdx +46 -0
- package/docs/ai-gateway/managing-providers.mdx +66 -0
- package/docs/ai-gateway/managing-teams.mdx +63 -0
- package/docs/ai-gateway/policies/akamai-ai-firewall.mdx +125 -0
- package/docs/ai-gateway/policies/comet-opik-tracing.mdx +139 -0
- package/docs/ai-gateway/policies/galileo-tracing.mdx +147 -0
- package/docs/ai-gateway/providers.mdx +32 -0
- package/docs/ai-gateway/teams.mdx +38 -0
- package/docs/ai-gateway/universal-api.mdx +43 -0
- package/docs/ai-gateway/usage-limits.mdx +89 -0
- package/docs/api-management/introduction.md +127 -0
- package/docs/articles/accounts/audit-logs.mdx +227 -0
- package/docs/articles/accounts/billing.mdx +25 -0
- package/docs/articles/accounts/default-api-key.mdx +30 -0
- package/docs/articles/accounts/delete-account.mdx +36 -0
- package/docs/articles/accounts/enterprise-sso.mdx +116 -0
- package/docs/articles/accounts/managing-account-members.mdx +45 -0
- package/docs/articles/accounts/managing-project-members.mdx +37 -0
- package/docs/articles/accounts/members-and-roles.mdx +21 -0
- package/docs/articles/accounts/roles-and-permissions.mdx +115 -0
- package/docs/articles/accounts/zuplo-api-keys.mdx +94 -0
- package/docs/articles/add-api-to-backstage.mdx +216 -0
- package/docs/articles/advanced-path-matching.mdx +139 -0
- package/docs/articles/api-key-administration.mdx +47 -0
- package/docs/articles/api-key-api.mdx +220 -0
- package/docs/articles/api-key-authentication.mdx +195 -0
- package/docs/articles/api-key-buckets.mdx +61 -0
- package/docs/articles/api-key-end-users.mdx +52 -0
- package/docs/articles/api-key-leak-detection.mdx +75 -0
- package/docs/articles/api-key-management.mdx +100 -0
- package/docs/articles/api-key-react-component.mdx +90 -0
- package/docs/articles/api-key-service-limits.mdx +14 -0
- package/docs/articles/archiving-requests-to-storage.mdx +119 -0
- package/docs/articles/branch-based-deployments.mdx +184 -0
- package/docs/articles/bypass-policy-for-testing.mdx +117 -0
- package/docs/articles/check-ip-address.mdx +17 -0
- package/docs/articles/ci-cd-azure/basic-deployment.mdx +49 -0
- package/docs/articles/ci-cd-azure/deploy-and-test.mdx +47 -0
- package/docs/articles/ci-cd-azure/local-testing.mdx +59 -0
- package/docs/articles/ci-cd-azure/multi-stage-deployment.mdx +88 -0
- package/docs/articles/ci-cd-azure/pr-preview-environments.mdx +50 -0
- package/docs/articles/ci-cd-azure/tag-based-releases.mdx +37 -0
- package/docs/articles/ci-cd-bitbucket/basic-deployment.mdx +27 -0
- package/docs/articles/ci-cd-bitbucket/deploy-and-test.mdx +41 -0
- package/docs/articles/ci-cd-bitbucket/local-testing.mdx +34 -0
- package/docs/articles/ci-cd-bitbucket/multi-stage-deployment.mdx +52 -0
- package/docs/articles/ci-cd-bitbucket/pr-preview-environments.mdx +46 -0
- package/docs/articles/ci-cd-bitbucket/tag-based-releases.mdx +27 -0
- package/docs/articles/ci-cd-circleci/basic-deployment.mdx +34 -0
- package/docs/articles/ci-cd-circleci/deploy-and-test.mdx +44 -0
- package/docs/articles/ci-cd-circleci/local-testing.mdx +50 -0
- package/docs/articles/ci-cd-circleci/multi-stage-deployment.mdx +82 -0
- package/docs/articles/ci-cd-circleci/pr-preview-environments.mdx +47 -0
- package/docs/articles/ci-cd-circleci/tag-based-releases.mdx +38 -0
- package/docs/articles/ci-cd-github/basic-deployment.mdx +48 -0
- package/docs/articles/ci-cd-github/cleanup-on-branch-delete.mdx +123 -0
- package/docs/articles/ci-cd-github/deploy-and-test.mdx +82 -0
- package/docs/articles/ci-cd-github/local-testing.mdx +102 -0
- package/docs/articles/ci-cd-github/multi-stage-deployment.mdx +136 -0
- package/docs/articles/ci-cd-github/pr-preview-environments.mdx +106 -0
- package/docs/articles/ci-cd-github/tag-based-releases.mdx +99 -0
- package/docs/articles/ci-cd-gitlab/basic-deployment.mdx +28 -0
- package/docs/articles/ci-cd-gitlab/deploy-and-test.mdx +44 -0
- package/docs/articles/ci-cd-gitlab/local-testing.mdx +39 -0
- package/docs/articles/ci-cd-gitlab/mr-preview-environments.mdx +52 -0
- package/docs/articles/ci-cd-gitlab/multi-stage-deployment.mdx +64 -0
- package/docs/articles/ci-cd-gitlab/tag-based-releases.mdx +28 -0
- package/docs/articles/composite-policy-reference.mdx +284 -0
- package/docs/articles/configuring-auth0-for-mcp-auth.mdx +186 -0
- package/docs/articles/configuring-okta-for-mcp-auth.mdx +208 -0
- package/docs/articles/convert-urls-to-openapi.mdx +62 -0
- package/docs/articles/cors.mdx +447 -0
- package/docs/articles/custom-audit-log-policy.mdx +95 -0
- package/docs/articles/custom-ci-cd-azure.mdx +81 -0
- package/docs/articles/custom-ci-cd-bitbucket.mdx +80 -0
- package/docs/articles/custom-ci-cd-circleci.mdx +78 -0
- package/docs/articles/custom-ci-cd-github.mdx +99 -0
- package/docs/articles/custom-ci-cd-gitlab.mdx +79 -0
- package/docs/articles/custom-ci-cd.mdx +82 -0
- package/docs/articles/custom-code-patterns.md +418 -0
- package/docs/articles/custom-domains.mdx +258 -0
- package/docs/articles/custom-logging-example.mdx +139 -0
- package/docs/articles/ddos-protection.mdx +138 -0
- package/docs/articles/development-options.mdx +49 -0
- package/docs/articles/environment-variables.mdx +134 -0
- package/docs/articles/environments.mdx +143 -0
- package/docs/articles/fastly-zuplo-host-setup.mdx +41 -0
- package/docs/articles/github-deployment-testing.mdx +101 -0
- package/docs/articles/gke-with-upstream-auth-policy.mdx +192 -0
- package/docs/articles/graphql-security.mdx +180 -0
- package/docs/articles/handling-form-data.mdx +61 -0
- package/docs/articles/health-checks.mdx +109 -0
- package/docs/articles/hosting-options.mdx +70 -0
- package/docs/articles/lazy-load-configuration-into-cache.mdx +92 -0
- package/docs/articles/limits.mdx +98 -0
- package/docs/articles/local-development-debugging.mdx +44 -0
- package/docs/articles/local-development-env-variables.mdx +23 -0
- package/docs/articles/local-development-installing-packages.mdx +23 -0
- package/docs/articles/local-development-routes-designer.mdx +27 -0
- package/docs/articles/local-development-services.mdx +40 -0
- package/docs/articles/local-development-troubleshooting.mdx +56 -0
- package/docs/articles/local-development.mdx +81 -0
- package/docs/articles/log-plugin-aws-cloudwatch.mdx +83 -0
- package/docs/articles/log-plugin-datadog.mdx +84 -0
- package/docs/articles/log-plugin-dynatrace.mdx +75 -0
- package/docs/articles/log-plugin-gcp.mdx +75 -0
- package/docs/articles/log-plugin-loki.mdx +136 -0
- package/docs/articles/log-plugin-new-relic.mdx +84 -0
- package/docs/articles/log-plugin-splunk.mdx +104 -0
- package/docs/articles/log-plugin-sumo.mdx +73 -0
- package/docs/articles/log-plugin-vmware-log-insight.mdx +154 -0
- package/docs/articles/log-request-response-data.mdx +398 -0
- package/docs/articles/logging.mdx +115 -0
- package/docs/articles/manual-mcp-oauth-testing.mdx +193 -0
- package/docs/articles/mcp-quickstart.mdx +135 -0
- package/docs/articles/metrics-plugins.mdx +371 -0
- package/docs/articles/migrate-from-apigee.md +408 -0
- package/docs/articles/migrate-from-aws-api-gateway.md +248 -0
- package/docs/articles/migrate-from-azure-apim.md +292 -0
- package/docs/articles/migrate-from-kong.md +300 -0
- package/docs/articles/migration-overview.md +81 -0
- package/docs/articles/monetization/api-access.mdx +69 -0
- package/docs/articles/monetization/billing-models.md +520 -0
- package/docs/articles/monetization/developer-portal.md +167 -0
- package/docs/articles/monetization/features.mdx +98 -0
- package/docs/articles/monetization/index.mdx +113 -0
- package/docs/articles/monetization/meters.mdx +135 -0
- package/docs/articles/monetization/monetization-policy.md +314 -0
- package/docs/articles/monetization/plan-examples.mdx +366 -0
- package/docs/articles/monetization/plans.mdx +266 -0
- package/docs/articles/monetization/pricing-models.mdx +225 -0
- package/docs/articles/monetization/private-plans.md +154 -0
- package/docs/articles/monetization/quickstart.md +355 -0
- package/docs/articles/monetization/rate-cards.mdx +171 -0
- package/docs/articles/monetization/stripe-integration.md +195 -0
- package/docs/articles/monetization/subscription-lifecycle.md +298 -0
- package/docs/articles/monetization/tax-collection.md +166 -0
- package/docs/articles/monetization/troubleshooting.md +272 -0
- package/docs/articles/monetization-custom.mdx +71 -0
- package/docs/articles/monetization-integrations.mdx +104 -0
- package/docs/articles/monitoring-your-gateway.mdx +53 -0
- package/docs/articles/monorepo-deployment.mdx +350 -0
- package/docs/articles/multiple-auth-policies.mdx +81 -0
- package/docs/articles/non-standard-ports.mdx +30 -0
- package/docs/articles/oauth-authentication.mdx +54 -0
- package/docs/articles/openapi-server-urls.mdx +60 -0
- package/docs/articles/openapi.mdx +130 -0
- package/docs/articles/opentelemetry.mdx +250 -0
- package/docs/articles/per-user-rate-limits-using-db.mdx +112 -0
- package/docs/articles/performance-testing.mdx +304 -0
- package/docs/articles/plugin-akamai-api-security.mdx +76 -0
- package/docs/articles/plugin-azure-blob.mdx +73 -0
- package/docs/articles/plugin-azure-event-hubs.mdx +64 -0
- package/docs/articles/plugin-hydrolix-traffic-peak.mdx +147 -0
- package/docs/articles/policies.mdx +33 -0
- package/docs/articles/rename-or-move-project.mdx +39 -0
- package/docs/articles/rick-and-morty-api-developer-portal-example.mdx +23 -0
- package/docs/articles/routing.mdx +193 -0
- package/docs/articles/s3-signed-url-uploads.mdx +521 -0
- package/docs/articles/secure-tunnel.mdx +84 -0
- package/docs/articles/securing-backend-mtls.mdx +268 -0
- package/docs/articles/securing-your-backend.mdx +148 -0
- package/docs/articles/security.mdx +105 -0
- package/docs/articles/sharing-code-across-projects.mdx +412 -0
- package/docs/articles/source-control-setup-azure.mdx +13 -0
- package/docs/articles/source-control-setup-bitbucket.mdx +43 -0
- package/docs/articles/source-control-setup-github.mdx +172 -0
- package/docs/articles/source-control-setup-gitlab.mdx +12 -0
- package/docs/articles/source-control.mdx +80 -0
- package/docs/articles/step-1-setup-basic-gateway-local.mdx +136 -0
- package/docs/articles/step-1-setup-basic-gateway.mdx +118 -0
- package/docs/articles/step-2-add-rate-limiting-local.mdx +126 -0
- package/docs/articles/step-2-add-rate-limiting.mdx +82 -0
- package/docs/articles/step-3-add-api-key-auth-local.mdx +199 -0
- package/docs/articles/step-3-add-api-key-auth.mdx +166 -0
- package/docs/articles/step-4-deploying-to-the-edge.mdx +220 -0
- package/docs/articles/step-5-dynamic-rate-limiting.mdx +167 -0
- package/docs/articles/support.mdx +144 -0
- package/docs/articles/terraform.mdx +114 -0
- package/docs/articles/testing-graphql.mdx +34 -0
- package/docs/articles/testing.mdx +522 -0
- package/docs/articles/troubleshooting-slow-responses.mdx +301 -0
- package/docs/articles/troubleshooting.md +302 -0
- package/docs/articles/tsconfig.mdx +105 -0
- package/docs/articles/tunnel-setup.mdx +195 -0
- package/docs/articles/tunnel-troubleshooting.mdx +50 -0
- package/docs/articles/update-zup-in-github-action.mdx +110 -0
- package/docs/articles/use-openapi-extension-data.mdx +79 -0
- package/docs/articles/users/multifactor-authentication.mdx +64 -0
- package/docs/articles/users/profile.mdx +13 -0
- package/docs/articles/versioning-on-zuplo.mdx +89 -0
- package/docs/articles/waf-ddos-akamai.md +133 -0
- package/docs/articles/waf-ddos-aws-waf-shield.mdx +85 -0
- package/docs/articles/waf-ddos-fastly.mdx +251 -0
- package/docs/articles/waf-ddos.mdx +140 -0
- package/docs/articles/zuplo-waf.mdx +156 -0
- package/docs/ask.mdx +3 -0
- package/docs/cli/authentication.mdx +56 -0
- package/docs/cli/connectivity.mdx +38 -0
- package/docs/cli/create-zuplo-api.mdx +80 -0
- package/docs/cli/delete.mdx +79 -0
- package/docs/cli/deploy.mdx +156 -0
- package/docs/cli/deploy.partial.mdx +46 -0
- package/docs/cli/dev.mdx +115 -0
- package/docs/cli/docs.mdx +66 -0
- package/docs/cli/editor.mdx +50 -0
- package/docs/cli/global-options.mdx +19 -0
- package/docs/cli/init.mdx +74 -0
- package/docs/cli/link.mdx +74 -0
- package/docs/cli/list.mdx +55 -0
- package/docs/cli/mtls-certificate-create.mdx +94 -0
- package/docs/cli/mtls-certificate-delete.mdx +55 -0
- package/docs/cli/mtls-certificate-describe.mdx +55 -0
- package/docs/cli/mtls-certificate-disable.mdx +55 -0
- package/docs/cli/mtls-certificate-list.mdx +47 -0
- package/docs/cli/mtls-certificate-update.mdx +72 -0
- package/docs/cli/openapi-convert.mdx +111 -0
- package/docs/cli/openapi-merge.mdx +138 -0
- package/docs/cli/openapi-merge.partial.mdx +29 -0
- package/docs/cli/openapi-overlay.mdx +123 -0
- package/docs/cli/overview.mdx +78 -0
- package/docs/cli/project-create.mdx +43 -0
- package/docs/cli/source-migrate.mdx +18 -0
- package/docs/cli/source-upgrade.mdx +41 -0
- package/docs/cli/test.mdx +70 -0
- package/docs/cli/test.partial.mdx +7 -0
- package/docs/cli/tunnel-create.mdx +53 -0
- package/docs/cli/tunnel-create.partial.mdx +9 -0
- package/docs/cli/tunnel-delete.mdx +35 -0
- package/docs/cli/tunnel-delete.partial.mdx +9 -0
- package/docs/cli/tunnel-describe.mdx +45 -0
- package/docs/cli/tunnel-describe.partial.mdx +5 -0
- package/docs/cli/tunnel-list.mdx +35 -0
- package/docs/cli/tunnel-list.partial.mdx +9 -0
- package/docs/cli/tunnel-rate-token.partial.mdx +9 -0
- package/docs/cli/tunnel-rotate-token.mdx +39 -0
- package/docs/cli/tunnel-services-describe.mdx +45 -0
- package/docs/cli/tunnel-services-describe.partial.mdx +9 -0
- package/docs/cli/tunnel-services-update.mdx +48 -0
- package/docs/cli/variable-create.mdx +91 -0
- package/docs/cli/variable-create.partial.mdx +5 -0
- package/docs/cli/variable-update.mdx +75 -0
- package/docs/cli/variable-update.partial.mdx +5 -0
- package/docs/concepts/api-keys.md +146 -0
- package/docs/concepts/authentication.mdx +109 -0
- package/docs/concepts/how-zuplo-works.mdx +120 -0
- package/docs/concepts/project-structure.mdx +174 -0
- package/docs/concepts/rate-limiting.md +246 -0
- package/docs/concepts/request-lifecycle.mdx +56 -0
- package/docs/concepts/source-control-and-deployment.mdx +229 -0
- package/docs/conferences/conference-prize-terms.mdx +80 -0
- package/docs/dedicated/akamai/ai-powered-applications.mdx +223 -0
- package/docs/dedicated/akamai/architecture.mdx +280 -0
- package/docs/dedicated/akamai/caching.mdx +212 -0
- package/docs/dedicated/akamai/cdn.mdx +156 -0
- package/docs/dedicated/architecture.mdx +208 -0
- package/docs/dedicated/custom-domains.mdx +31 -0
- package/docs/dedicated/federated-gateways.mdx +80 -0
- package/docs/dedicated/networking.mdx +69 -0
- package/docs/dedicated/overview.mdx +80 -0
- package/docs/dedicated/source-control.mdx +63 -0
- package/docs/dev-portal/dev-portal-create-consumer-on-auth.mdx +134 -0
- package/docs/dev-portal/introduction.mdx +65 -0
- package/docs/dev-portal/local-development.mdx +72 -0
- package/docs/dev-portal/migration.mdx +526 -0
- package/docs/dev-portal/node-modules.mdx +45 -0
- package/docs/dev-portal/updating.mdx +28 -0
- package/docs/dev-portal/zudoku/components/alert.mdx +130 -0
- package/docs/dev-portal/zudoku/components/badge.mdx +70 -0
- package/docs/dev-portal/zudoku/components/button.mdx +132 -0
- package/docs/dev-portal/zudoku/components/callout.mdx +112 -0
- package/docs/dev-portal/zudoku/components/card.mdx +104 -0
- package/docs/dev-portal/zudoku/components/checkbox.mdx +72 -0
- package/docs/dev-portal/zudoku/components/client-only.mdx +79 -0
- package/docs/dev-portal/zudoku/components/code-tabs.mdx +179 -0
- package/docs/dev-portal/zudoku/components/dialog.mdx +167 -0
- package/docs/dev-portal/zudoku/components/head.mdx +199 -0
- package/docs/dev-portal/zudoku/components/icons.mdx +27 -0
- package/docs/dev-portal/zudoku/components/input.mdx +96 -0
- package/docs/dev-portal/zudoku/components/label.mdx +86 -0
- package/docs/dev-portal/zudoku/components/link.mdx +242 -0
- package/docs/dev-portal/zudoku/components/markdown.mdx +151 -0
- package/docs/dev-portal/zudoku/components/mermaid.mdx +81 -0
- package/docs/dev-portal/zudoku/components/playground.mdx +87 -0
- package/docs/dev-portal/zudoku/components/secret.mdx +78 -0
- package/docs/dev-portal/zudoku/components/select.mdx +176 -0
- package/docs/dev-portal/zudoku/components/shadcn.mdx +73 -0
- package/docs/dev-portal/zudoku/components/slider.mdx +108 -0
- package/docs/dev-portal/zudoku/components/slot.mdx +119 -0
- package/docs/dev-portal/zudoku/components/stepper.mdx +138 -0
- package/docs/dev-portal/zudoku/components/switch.mdx +96 -0
- package/docs/dev-portal/zudoku/components/syntax-highlight.mdx +602 -0
- package/docs/dev-portal/zudoku/components/textarea.mdx +78 -0
- package/docs/dev-portal/zudoku/components/tooltip.mdx +195 -0
- package/docs/dev-portal/zudoku/components/typography.mdx +61 -0
- package/docs/dev-portal/zudoku/configuration/ai-assistants.md +64 -0
- package/docs/dev-portal/zudoku/configuration/api-catalog.md +108 -0
- package/docs/dev-portal/zudoku/configuration/api-reference.md +397 -0
- package/docs/dev-portal/zudoku/configuration/authentication-auth0.md +173 -0
- package/docs/dev-portal/zudoku/configuration/authentication-azure-ad.md +238 -0
- package/docs/dev-portal/zudoku/configuration/authentication-clerk.md +110 -0
- package/docs/dev-portal/zudoku/configuration/authentication-firebase.md +61 -0
- package/docs/dev-portal/zudoku/configuration/authentication-pingfederate.md +136 -0
- package/docs/dev-portal/zudoku/configuration/authentication-supabase.md +225 -0
- package/docs/dev-portal/zudoku/configuration/authentication.md +199 -0
- package/docs/dev-portal/zudoku/configuration/build-configuration.mdx +147 -0
- package/docs/dev-portal/zudoku/configuration/docs.md +282 -0
- package/docs/dev-portal/zudoku/configuration/footer.mdx +214 -0
- package/docs/dev-portal/zudoku/configuration/llms.md +89 -0
- package/docs/dev-portal/zudoku/configuration/navigation.mdx +408 -0
- package/docs/dev-portal/zudoku/configuration/overview.md +380 -0
- package/docs/dev-portal/zudoku/configuration/protected-routes.md +149 -0
- package/docs/dev-portal/zudoku/configuration/search.md +169 -0
- package/docs/dev-portal/zudoku/configuration/sentry.mdx +44 -0
- package/docs/dev-portal/zudoku/configuration/site.md +124 -0
- package/docs/dev-portal/zudoku/configuration/slots.mdx +124 -0
- package/docs/dev-portal/zudoku/configuration/vite-config.md +18 -0
- package/docs/dev-portal/zudoku/custom-plugins.md +287 -0
- package/docs/dev-portal/zudoku/customization/colors-theme.mdx +275 -0
- package/docs/dev-portal/zudoku/customization/fonts.md +110 -0
- package/docs/dev-portal/zudoku/extending/events.md +124 -0
- package/docs/dev-portal/zudoku/guides/custom-pages.md +106 -0
- package/docs/dev-portal/zudoku/guides/environment-variables.md +99 -0
- package/docs/dev-portal/zudoku/guides/mermaid.mdx +70 -0
- package/docs/dev-portal/zudoku/guides/navigation-migration.md +87 -0
- package/docs/dev-portal/zudoku/guides/navigation-rules.mdx +197 -0
- package/docs/dev-portal/zudoku/guides/processors.mdx +234 -0
- package/docs/dev-portal/zudoku/guides/static-files.md +55 -0
- package/docs/dev-portal/zudoku/guides/transforming-examples.md +156 -0
- package/docs/dev-portal/zudoku/guides/using-multiple-apis.md +87 -0
- package/docs/dev-portal/zudoku/markdown/admonitions.md +128 -0
- package/docs/dev-portal/zudoku/markdown/code-blocks.md +196 -0
- package/docs/dev-portal/zudoku/markdown/frontmatter.md +172 -0
- package/docs/dev-portal/zudoku/markdown/mdx.md +68 -0
- package/docs/dev-portal/zudoku/markdown/overview.md +275 -0
- package/docs/dev-portal/zudoku/plugins.md +5 -0
- package/docs/dev-portal/zudoku/writing.mdx +72 -0
- package/docs/errors/bad-request.mdx +39 -0
- package/docs/errors/build-error.mdx +45 -0
- package/docs/errors/fatal-project-error.mdx +39 -0
- package/docs/errors/gateway-timeout.mdx +33 -0
- package/docs/errors/get-head-body-error.mdx +41 -0
- package/docs/errors/main-mod-error.mdx +40 -0
- package/docs/errors/no-project-set.mdx +41 -0
- package/docs/errors/not-found.mdx +43 -0
- package/docs/errors/rate-limit-exceeded.mdx +31 -0
- package/docs/errors/schema-validation-failed.mdx +51 -0
- package/docs/errors/system-configuration-error.mdx +44 -0
- package/docs/errors/unauthorized.mdx +50 -0
- package/docs/errors/unknown-error.mdx +42 -0
- package/docs/errors.mdx +14 -0
- package/docs/guides/canary-routing-for-employees.mdx +385 -0
- package/docs/guides/geolocation-backend-routing.mdx +404 -0
- package/docs/guides/modify-openapi-paths.mdx +371 -0
- package/docs/guides/openapi-overlays.mdx +492 -0
- package/docs/guides/overview.mdx +12 -0
- package/docs/guides/user-based-backend-routing.mdx +437 -0
- package/docs/handlers/aws-lambda.mdx +201 -0
- package/docs/handlers/custom-handler.mdx +112 -0
- package/docs/handlers/legacy-dev-portal-handler.mdx +135 -0
- package/docs/handlers/mcp-server.mdx +730 -0
- package/docs/handlers/openapi.mdx +78 -0
- package/docs/handlers/redirect.mdx +115 -0
- package/docs/handlers/system-handlers.mdx +41 -0
- package/docs/handlers/url-forward.mdx +204 -0
- package/docs/handlers/url-rewrite.mdx +224 -0
- package/docs/handlers/websocket-handler.mdx +154 -0
- package/docs/home.mdx +6 -0
- package/docs/managed-edge/overview.md +78 -0
- package/docs/mcp-server/configuration-migration-guide.mdx +344 -0
- package/docs/mcp-server/custom-tools.mdx +487 -0
- package/docs/mcp-server/graphql.mdx +241 -0
- package/docs/mcp-server/introduction.mdx +122 -0
- package/docs/mcp-server/openai-apps-sdk.mdx +160 -0
- package/docs/mcp-server/prompts.mdx +283 -0
- package/docs/mcp-server/resources.mdx +288 -0
- package/docs/mcp-server/testing.mdx +53 -0
- package/docs/mcp-server/tools.mdx +306 -0
- package/docs/policies/_index.md +92 -0
- package/docs/policies/ab-test-inbound/intro.md +8 -0
- package/docs/policies/ab-test-inbound/policy.ts +14 -0
- package/docs/policies/ab-test-inbound/schema.json +27 -0
- package/docs/policies/ab-test-outbound/intro.md +8 -0
- package/docs/policies/ab-test-outbound/policy.ts +26 -0
- package/docs/policies/ab-test-outbound/schema.json +27 -0
- package/docs/policies/acl-policy-inbound/intro.md +5 -0
- package/docs/policies/acl-policy-inbound/policy.ts +32 -0
- package/docs/policies/acl-policy-inbound/schema.json +52 -0
- package/docs/policies/akamai-ai-firewall/schema.json +98 -0
- package/docs/policies/amberflo-metering-inbound/doc.md +183 -0
- package/docs/policies/amberflo-metering-inbound/intro.md +20 -0
- package/docs/policies/amberflo-metering-inbound/schema.json +108 -0
- package/docs/policies/api-key-inbound/doc.md +77 -0
- package/docs/policies/api-key-inbound/intro.md +30 -0
- package/docs/policies/api-key-inbound/schema.json +84 -0
- package/docs/policies/archive-request-aws-s3-inbound/intro.md +4 -0
- package/docs/policies/archive-request-aws-s3-inbound/policy.ts +58 -0
- package/docs/policies/archive-request-aws-s3-inbound/schema.json +68 -0
- package/docs/policies/archive-request-azure-storage-inbound/doc.md +31 -0
- package/docs/policies/archive-request-azure-storage-inbound/intro.md +4 -0
- package/docs/policies/archive-request-azure-storage-inbound/policy.ts +54 -0
- package/docs/policies/archive-request-azure-storage-inbound/schema.json +53 -0
- package/docs/policies/archive-request-gcp-storage-inbound/doc.md +63 -0
- package/docs/policies/archive-request-gcp-storage-inbound/intro.md +4 -0
- package/docs/policies/archive-request-gcp-storage-inbound/policy.ts +68 -0
- package/docs/policies/archive-request-gcp-storage-inbound/schema.json +47 -0
- package/docs/policies/archive-response-aws-s3-outbound/intro.md +2 -0
- package/docs/policies/archive-response-aws-s3-outbound/policy.ts +59 -0
- package/docs/policies/archive-response-aws-s3-outbound/schema.json +68 -0
- package/docs/policies/archive-response-azure-storage-outbound/doc.md +31 -0
- package/docs/policies/archive-response-azure-storage-outbound/intro.md +3 -0
- package/docs/policies/archive-response-azure-storage-outbound/policy.ts +54 -0
- package/docs/policies/archive-response-azure-storage-outbound/schema.json +53 -0
- package/docs/policies/audit-log-inbound/doc.md +78 -0
- package/docs/policies/audit-log-inbound/intro.md +10 -0
- package/docs/policies/audit-log-inbound/schema.json +81 -0
- package/docs/policies/auth0-jwt-auth-inbound/doc.md +125 -0
- package/docs/policies/auth0-jwt-auth-inbound/intro.md +17 -0
- package/docs/policies/auth0-jwt-auth-inbound/schema.json +74 -0
- package/docs/policies/authzen-inbound/doc.md +24 -0
- package/docs/policies/authzen-inbound/intro.md +31 -0
- package/docs/policies/authzen-inbound/schema.json +126 -0
- package/docs/policies/axiomatics-authz-inbound/doc.md +144 -0
- package/docs/policies/axiomatics-authz-inbound/intro.md +11 -0
- package/docs/policies/axiomatics-authz-inbound/schema.json +161 -0
- package/docs/policies/basic-auth-inbound/intro.md +9 -0
- package/docs/policies/basic-auth-inbound/schema.json +99 -0
- package/docs/policies/bot-detection-inbound/intro.md +4 -0
- package/docs/policies/bot-detection-inbound/schema.json +56 -0
- package/docs/policies/brownout-inbound/doc.md +55 -0
- package/docs/policies/brownout-inbound/intro.md +12 -0
- package/docs/policies/brownout-inbound/schema.json +115 -0
- package/docs/policies/caching-inbound/doc.md +209 -0
- package/docs/policies/caching-inbound/intro.md +23 -0
- package/docs/policies/caching-inbound/schema.json +98 -0
- package/docs/policies/change-method-inbound/schema.json +56 -0
- package/docs/policies/clear-headers-inbound/schema.json +59 -0
- package/docs/policies/clear-headers-outbound/schema.json +59 -0
- package/docs/policies/clerk-jwt-auth-inbound/doc.md +85 -0
- package/docs/policies/clerk-jwt-auth-inbound/intro.md +4 -0
- package/docs/policies/clerk-jwt-auth-inbound/schema.json +68 -0
- package/docs/policies/cognito-jwt-auth-inbound/intro.md +7 -0
- package/docs/policies/cognito-jwt-auth-inbound/schema.json +74 -0
- package/docs/policies/comet-opik-tracing-inbound/schema.json +65 -0
- package/docs/policies/complex-rate-limit-inbound/doc.md +20 -0
- package/docs/policies/complex-rate-limit-inbound/intro.md +23 -0
- package/docs/policies/complex-rate-limit-inbound/schema.json +142 -0
- package/docs/policies/composite-inbound/doc.md +69 -0
- package/docs/policies/composite-inbound/intro.md +15 -0
- package/docs/policies/composite-inbound/schema.json +59 -0
- package/docs/policies/composite-outbound/intro.md +6 -0
- package/docs/policies/composite-outbound/schema.json +59 -0
- package/docs/policies/curity-phantom-token-inbound/doc.md +109 -0
- package/docs/policies/curity-phantom-token-inbound/intro.md +3 -0
- package/docs/policies/curity-phantom-token-inbound/schema.json +68 -0
- package/docs/policies/custom-code-inbound/doc.md +267 -0
- package/docs/policies/custom-code-inbound/intro.md +2 -0
- package/docs/policies/custom-code-inbound/schema.json +48 -0
- package/docs/policies/custom-code-outbound/doc.md +235 -0
- package/docs/policies/custom-code-outbound/intro.md +2 -0
- package/docs/policies/custom-code-outbound/schema.json +43 -0
- package/docs/policies/firebase-jwt-inbound/intro.md +6 -0
- package/docs/policies/firebase-jwt-inbound/schema.json +68 -0
- package/docs/policies/formdata-to-json-inbound/schema.json +60 -0
- package/docs/policies/galileo-tracing-inbound/schema.json +65 -0
- package/docs/policies/geo-filter-inbound/doc.md +33 -0
- package/docs/policies/geo-filter-inbound/schema.json +108 -0
- package/docs/policies/graphql-complexity-limit-inbound/doc.md +48 -0
- package/docs/policies/graphql-complexity-limit-inbound/intro.md +2 -0
- package/docs/policies/graphql-complexity-limit-inbound/schema.json +90 -0
- package/docs/policies/graphql-disable-introspection-inbound/doc.md +66 -0
- package/docs/policies/graphql-disable-introspection-inbound/intro.md +15 -0
- package/docs/policies/graphql-disable-introspection-inbound/schema.json +48 -0
- package/docs/policies/graphql-introspection-filter-outbound/doc.md +148 -0
- package/docs/policies/graphql-introspection-filter-outbound/schema.json +79 -0
- package/docs/policies/hmac-auth-inbound/doc.md +30 -0
- package/docs/policies/hmac-auth-inbound/intro.md +10 -0
- package/docs/policies/hmac-auth-inbound/policy.ts +70 -0
- package/docs/policies/hmac-auth-inbound/schema.json +53 -0
- package/docs/policies/http-deprecation-outbound/doc.md +73 -0
- package/docs/policies/http-deprecation-outbound/schema.json +83 -0
- package/docs/policies/ip-restriction-inbound/intro.md +8 -0
- package/docs/policies/ip-restriction-inbound/policy.ts +40 -0
- package/docs/policies/ip-restriction-inbound/schema.json +58 -0
- package/docs/policies/jwt-scopes-inbound/schema.json +59 -0
- package/docs/policies/ldap-auth-inbound/schema.json +56 -0
- package/docs/policies/mock-api-inbound/schema.json +72 -0
- package/docs/policies/moesif-inbound/doc.md +44 -0
- package/docs/policies/moesif-inbound/intro.md +6 -0
- package/docs/policies/moesif-inbound/schema.json +68 -0
- package/docs/policies/monetization-inbound/doc.md +87 -0
- package/docs/policies/monetization-inbound/intro.md +6 -0
- package/docs/policies/monetization-inbound/schema.json +102 -0
- package/docs/policies/mtls-auth-inbound/intro.md +6 -0
- package/docs/policies/mtls-auth-inbound/schema.json +68 -0
- package/docs/policies/okta-fga-authz-inbound/doc.md +181 -0
- package/docs/policies/okta-fga-authz-inbound/intro.md +20 -0
- package/docs/policies/okta-fga-authz-inbound/schema.json +104 -0
- package/docs/policies/okta-jwt-auth-inbound/intro.md +7 -0
- package/docs/policies/okta-jwt-auth-inbound/schema.json +74 -0
- package/docs/policies/open-id-jwt-auth-inbound/doc.md +58 -0
- package/docs/policies/open-id-jwt-auth-inbound/intro.md +30 -0
- package/docs/policies/open-id-jwt-auth-inbound/schema.json +128 -0
- package/docs/policies/openfga-authz-inbound/doc.md +207 -0
- package/docs/policies/openfga-authz-inbound/intro.md +17 -0
- package/docs/policies/openfga-authz-inbound/schema.json +191 -0
- package/docs/policies/openmeter-inbound/doc.md +163 -0
- package/docs/policies/openmeter-inbound/intro.md +18 -0
- package/docs/policies/openmeter-inbound/schema.json +183 -0
- package/docs/policies/prompt-injection-outbound/doc.md +106 -0
- package/docs/policies/prompt-injection-outbound/intro.md +4 -0
- package/docs/policies/prompt-injection-outbound/schema.json +74 -0
- package/docs/policies/propel-auth-jwt-inbound/doc.md +88 -0
- package/docs/policies/propel-auth-jwt-inbound/intro.md +4 -0
- package/docs/policies/propel-auth-jwt-inbound/schema.json +74 -0
- package/docs/policies/query-param-to-header-inbound/doc.md +70 -0
- package/docs/policies/query-param-to-header-inbound/intro.md +5 -0
- package/docs/policies/query-param-to-header-inbound/schema.json +74 -0
- package/docs/policies/quota-inbound/doc.md +235 -0
- package/docs/policies/quota-inbound/intro.md +7 -0
- package/docs/policies/quota-inbound/schema.json +133 -0
- package/docs/policies/rate-limit-inbound/doc.md +78 -0
- package/docs/policies/rate-limit-inbound/intro.md +30 -0
- package/docs/policies/rate-limit-inbound/schema.json +134 -0
- package/docs/policies/rbac-policy-inbound/intro.md +3 -0
- package/docs/policies/rbac-policy-inbound/policy.ts +42 -0
- package/docs/policies/rbac-policy-inbound/schema.json +52 -0
- package/docs/policies/readme-metrics-inbound/doc.md +1 -0
- package/docs/policies/readme-metrics-inbound/intro.md +3 -0
- package/docs/policies/readme-metrics-inbound/schema.json +84 -0
- package/docs/policies/remove-headers-inbound/schema.json +59 -0
- package/docs/policies/remove-headers-outbound/schema.json +59 -0
- package/docs/policies/remove-query-params-inbound/schema.json +59 -0
- package/docs/policies/replace-string-outbound/schema.json +69 -0
- package/docs/policies/request-size-limit-inbound/schema.json +60 -0
- package/docs/policies/request-validation-inbound/doc.md +72 -0
- package/docs/policies/request-validation-inbound/intro.md +24 -0
- package/docs/policies/request-validation-inbound/schema.json +98 -0
- package/docs/policies/require-origin-inbound/intro.md +12 -0
- package/docs/policies/require-origin-inbound/schema.json +65 -0
- package/docs/policies/secret-masking-outbound/doc.md +41 -0
- package/docs/policies/secret-masking-outbound/intro.md +13 -0
- package/docs/policies/secret-masking-outbound/schema.json +65 -0
- package/docs/policies/semantic-cache-inbound/doc.md +63 -0
- package/docs/policies/semantic-cache-inbound/intro.md +4 -0
- package/docs/policies/semantic-cache-inbound/schema.json +179 -0
- package/docs/policies/set-body-inbound/intro.md +7 -0
- package/docs/policies/set-body-inbound/schema.json +56 -0
- package/docs/policies/set-headers-inbound/doc.md +41 -0
- package/docs/policies/set-headers-inbound/intro.md +2 -0
- package/docs/policies/set-headers-inbound/schema.json +83 -0
- package/docs/policies/set-headers-outbound/schema.json +83 -0
- package/docs/policies/set-query-params-inbound/schema.json +83 -0
- package/docs/policies/set-status-outbound/schema.json +62 -0
- package/docs/policies/sleep-inbound/schema.json +56 -0
- package/docs/policies/stripe-webhook-verification-inbound/intro.md +2 -0
- package/docs/policies/stripe-webhook-verification-inbound/schema.json +60 -0
- package/docs/policies/supabase-jwt-auth-inbound/doc.md +29 -0
- package/docs/policies/supabase-jwt-auth-inbound/intro.md +12 -0
- package/docs/policies/supabase-jwt-auth-inbound/schema.json +86 -0
- package/docs/policies/transform-body-inbound/intro.md +8 -0
- package/docs/policies/transform-body-inbound/policy.ts +16 -0
- package/docs/policies/transform-body-inbound/schema.json +27 -0
- package/docs/policies/transform-body-outbound/intro.md +8 -0
- package/docs/policies/transform-body-outbound/policy.ts +19 -0
- package/docs/policies/transform-body-outbound/schema.json +27 -0
- package/docs/policies/upstream-azure-ad-service-auth-inbound/doc.md +82 -0
- package/docs/policies/upstream-azure-ad-service-auth-inbound/intro.md +20 -0
- package/docs/policies/upstream-azure-ad-service-auth-inbound/schema.json +84 -0
- package/docs/policies/upstream-firebase-admin-auth-inbound/intro.md +10 -0
- package/docs/policies/upstream-firebase-admin-auth-inbound/schema.json +68 -0
- package/docs/policies/upstream-firebase-user-auth-inbound/intro.md +2 -0
- package/docs/policies/upstream-firebase-user-auth-inbound/schema.json +113 -0
- package/docs/policies/upstream-gcp-federated-auth-inbound/doc.md +139 -0
- package/docs/policies/upstream-gcp-federated-auth-inbound/intro.md +21 -0
- package/docs/policies/upstream-gcp-federated-auth-inbound/schema.json +96 -0
- package/docs/policies/upstream-gcp-jwt-inbound/intro.md +10 -0
- package/docs/policies/upstream-gcp-jwt-inbound/schema.json +62 -0
- package/docs/policies/upstream-gcp-service-auth-inbound/doc.md +132 -0
- package/docs/policies/upstream-gcp-service-auth-inbound/intro.md +25 -0
- package/docs/policies/upstream-gcp-service-auth-inbound/schema.json +95 -0
- package/docs/policies/upstream-zuplo-jwt-auth-inbound/doc.md +213 -0
- package/docs/policies/upstream-zuplo-jwt-auth-inbound/intro.md +16 -0
- package/docs/policies/upstream-zuplo-jwt-auth-inbound/schema.json +101 -0
- package/docs/policies/validate-json-schema-inbound/doc.md +129 -0
- package/docs/policies/validate-json-schema-inbound/intro.md +7 -0
- package/docs/policies/validate-json-schema-inbound/schema.json +56 -0
- package/docs/policies/web-bot-auth-inbound/doc.md +104 -0
- package/docs/policies/web-bot-auth-inbound/intro.md +16 -0
- package/docs/policies/web-bot-auth-inbound/schema.json +76 -0
- package/docs/policies/xml-to-json-outbound/doc.md +71 -0
- package/docs/policies/xml-to-json-outbound/intro.md +4 -0
- package/docs/policies/xml-to-json-outbound/schema.json +117 -0
- package/docs/programmable-api/audit-log.mdx +74 -0
- package/docs/programmable-api/background-dispatcher.mdx +124 -0
- package/docs/programmable-api/background-loader.mdx +104 -0
- package/docs/programmable-api/cache.mdx +186 -0
- package/docs/programmable-api/compatibility-dates.mdx +201 -0
- package/docs/programmable-api/console-logging.mdx +48 -0
- package/docs/programmable-api/context-data.mdx +127 -0
- package/docs/programmable-api/custom-cors-policy.mdx +64 -0
- package/docs/programmable-api/environment.mdx +328 -0
- package/docs/programmable-api/hooks.mdx +569 -0
- package/docs/programmable-api/http-problems.mdx +385 -0
- package/docs/programmable-api/jwt-service-plugin.mdx +420 -0
- package/docs/programmable-api/logger.mdx +223 -0
- package/docs/programmable-api/memory-zone-read-through-cache.mdx +96 -0
- package/docs/programmable-api/node-modules.mdx +67 -0
- package/docs/programmable-api/not-found-handler.mdx +47 -0
- package/docs/programmable-api/oauth-protected-resource-plugin.mdx +46 -0
- package/docs/programmable-api/overview.mdx +213 -0
- package/docs/programmable-api/problem-response-formatter.mdx +183 -0
- package/docs/programmable-api/request-user.mdx +289 -0
- package/docs/programmable-api/reusing-code.mdx +26 -0
- package/docs/programmable-api/route-raw.mdx +55 -0
- package/docs/programmable-api/runtime-behaviors.mdx +25 -0
- package/docs/programmable-api/runtime-errors.mdx +246 -0
- package/docs/programmable-api/runtime-extensions.mdx +340 -0
- package/docs/programmable-api/safely-clone-a-request-or-response.mdx +57 -0
- package/docs/programmable-api/streaming-zone-cache.mdx +155 -0
- package/docs/programmable-api/web-crypto-apis.mdx +219 -0
- package/docs/programmable-api/web-standard-apis.mdx +109 -0
- package/docs/programmable-api/zone-cache.mdx +131 -0
- package/docs/programmable-api/zp-body-removed.mdx +32 -0
- package/docs/programmable-api/zuplo-context.mdx +414 -0
- package/docs/programmable-api/zuplo-id-token.mdx +90 -0
- package/docs/programmable-api/zuplo-json.mdx +91 -0
- package/docs/programmable-api/zuplo-request.mdx +200 -0
- package/docs/sample-apis.mdx +78 -0
- package/docs/self-hosted/overview.md +60 -0
- package/package.json +6 -5
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Comet Opik Tracing
|
|
3
|
+
sidebar_label: Comet Opik Tracing
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
The Comet Opik Tracing policy integrates
|
|
7
|
+
[Comet Opik](https://www.comet.com/docs/opik/) with the Zuplo AI Gateway,
|
|
8
|
+
enabling comprehensive observability, tracing, and evaluation of your LLM
|
|
9
|
+
applications in both development and production environments.
|
|
10
|
+
|
|
11
|
+
Comet Opik is an open-source platform designed to help developers track, view,
|
|
12
|
+
and evaluate Large Language Model (LLM) traces throughout the application
|
|
13
|
+
lifecycle. By integrating Opik with the Zuplo AI Gateway, you gain complete
|
|
14
|
+
visibility into your AI operations, from development debugging to production
|
|
15
|
+
monitoring.
|
|
16
|
+
|
|
17
|
+
### Key Capabilities
|
|
18
|
+
|
|
19
|
+
The Comet Opik integration provides powerful observability and evaluation
|
|
20
|
+
features:
|
|
21
|
+
|
|
22
|
+
- **Comprehensive trace logging**: Automatically capture LLM calls, inputs,
|
|
23
|
+
outputs, and metadata
|
|
24
|
+
- **Development debugging**: Annotate and label traces through SDK or UI for
|
|
25
|
+
iterative improvement
|
|
26
|
+
- **LLM evaluation**: Use LLM-as-a-Judge and heuristic evaluators to score trace
|
|
27
|
+
quality
|
|
28
|
+
- **Production monitoring**: Track feedback scores, trace counts, tokens, and
|
|
29
|
+
performance metrics at scale
|
|
30
|
+
- **High-volume ingestion**: Support for up to 40 million traces per day
|
|
31
|
+
- **Dataset management**: Store and run evaluations on test datasets
|
|
32
|
+
|
|
33
|
+
## Benefits with Zuplo AI Gateway
|
|
34
|
+
|
|
35
|
+
Integrating Comet Opik with the Zuplo AI Gateway provides several advantages:
|
|
36
|
+
|
|
37
|
+
### Complete Application Observability
|
|
38
|
+
|
|
39
|
+
Track entire LLM workflows including preprocessing, retrieval steps, model
|
|
40
|
+
calls, and post-processing through your API gateway, providing end-to-end
|
|
41
|
+
visibility.
|
|
42
|
+
|
|
43
|
+
### Development and Production Parity
|
|
44
|
+
|
|
45
|
+
Use the same tracing infrastructure in both development and production
|
|
46
|
+
environments, ensuring consistent observability throughout your application
|
|
47
|
+
lifecycle.
|
|
48
|
+
|
|
49
|
+
### Automatic Trace Capture
|
|
50
|
+
|
|
51
|
+
The policy automatically logs all AI Gateway requests and responses without
|
|
52
|
+
requiring code changes to your LLM application, simplifying instrumentation.
|
|
53
|
+
|
|
54
|
+
### Performance Insights
|
|
55
|
+
|
|
56
|
+
Monitor token usage, latency, error rates, and costs across all your AI
|
|
57
|
+
operations with detailed analytics dashboards.
|
|
58
|
+
|
|
59
|
+
### Quality Assurance
|
|
60
|
+
|
|
61
|
+
Evaluate LLM outputs using both automated metrics and LLM-as-a-Judge approaches
|
|
62
|
+
to maintain quality standards as your application evolves.
|
|
63
|
+
|
|
64
|
+
## How It Works
|
|
65
|
+
|
|
66
|
+
### Trace Logging
|
|
67
|
+
|
|
68
|
+
The policy captures comprehensive information about each LLM interaction:
|
|
69
|
+
|
|
70
|
+
1. **Request data**: User prompts, input parameters, and metadata
|
|
71
|
+
2. **Response data**: Model outputs, token counts, and generation details
|
|
72
|
+
3. **Performance metrics**: Latency, processing time, and resource usage
|
|
73
|
+
4. **Custom metadata**: Tags, conversation IDs, and application-specific data
|
|
74
|
+
|
|
75
|
+
### Trace Organization
|
|
76
|
+
|
|
77
|
+
Traces are organized hierarchically to represent complex workflows:
|
|
78
|
+
|
|
79
|
+
- **Traces**: Top-level records representing complete user interactions
|
|
80
|
+
- **Spans**: Nested operations within a trace (retrieval, generation, etc.)
|
|
81
|
+
- **Thread IDs**: Group related traces by conversation or session
|
|
82
|
+
|
|
83
|
+
### Evaluation Framework
|
|
84
|
+
|
|
85
|
+
Opik provides multiple evaluation approaches:
|
|
86
|
+
|
|
87
|
+
#### Heuristic Metrics
|
|
88
|
+
|
|
89
|
+
Deterministic evaluation methods including:
|
|
90
|
+
|
|
91
|
+
- **Exact match**: Verify outputs match expected values
|
|
92
|
+
- **Contains**: Check for presence of specific content
|
|
93
|
+
- **Regex patterns**: Validate output structure and format
|
|
94
|
+
|
|
95
|
+
#### LLM-as-a-Judge Metrics
|
|
96
|
+
|
|
97
|
+
AI-powered evaluation for subjective quality assessment:
|
|
98
|
+
|
|
99
|
+
- **Hallucination detection**: Identify factually incorrect outputs
|
|
100
|
+
- **Relevance scoring**: Measure response appropriateness
|
|
101
|
+
- **Tone and style**: Evaluate alignment with brand guidelines
|
|
102
|
+
- **Safety checks**: Detect harmful or inappropriate content
|
|
103
|
+
|
|
104
|
+
## Use Cases
|
|
105
|
+
|
|
106
|
+
### Debugging LLM Applications
|
|
107
|
+
|
|
108
|
+
Identify and fix issues in LLM applications by examining detailed trace logs,
|
|
109
|
+
including inputs, outputs, and intermediate steps.
|
|
110
|
+
|
|
111
|
+
### A/B Testing AI Models
|
|
112
|
+
|
|
113
|
+
Compare performance across different models, prompts, or configurations by
|
|
114
|
+
analyzing traces grouped by experiment variants.
|
|
115
|
+
|
|
116
|
+
### Cost Optimization
|
|
117
|
+
|
|
118
|
+
Monitor token usage patterns to identify optimization opportunities and reduce
|
|
119
|
+
AI operation costs.
|
|
120
|
+
|
|
121
|
+
### Compliance and Auditing
|
|
122
|
+
|
|
123
|
+
Maintain detailed audit logs of all AI interactions for regulatory compliance
|
|
124
|
+
and security requirements.
|
|
125
|
+
|
|
126
|
+
### Quality Regression Testing
|
|
127
|
+
|
|
128
|
+
Track LLM output quality over time using automated evaluations, catching
|
|
129
|
+
degradation before it impacts users.
|
|
130
|
+
|
|
131
|
+
### Conversation Analytics
|
|
132
|
+
|
|
133
|
+
Analyze multi-turn conversations using thread IDs to understand user journeys
|
|
134
|
+
and improve conversational AI experiences.
|
|
135
|
+
|
|
136
|
+
**Additional Resources**
|
|
137
|
+
|
|
138
|
+
- [Comet Opik Documentation](https://www.comet.com/docs/opik/)
|
|
139
|
+
- [Opik Tracing Guide](https://www.comet.com/docs/opik/tracing/log_traces)
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Galileo Tracing
|
|
3
|
+
sidebar_label: Galileo Tracing
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
The Galileo Tracing policy integrates [Galileo AI](https://www.galileo.ai/) with
|
|
7
|
+
the Zuplo AI Gateway, providing comprehensive observability, monitoring, and
|
|
8
|
+
evaluation of your LLM applications. This policy automatically captures detailed
|
|
9
|
+
traces of all AI Gateway requests and responses, enabling you to monitor
|
|
10
|
+
performance, debug issues, and optimize your AI operations.
|
|
11
|
+
|
|
12
|
+
## Key Features
|
|
13
|
+
|
|
14
|
+
- **Automatic Trace Capture**: Seamlessly logs all LLM requests and responses
|
|
15
|
+
without code changes
|
|
16
|
+
- **Streaming Support**: Handles both streaming and non-streaming responses
|
|
17
|
+
- **Performance Monitoring**: Tracks token usage, latency, and resource
|
|
18
|
+
consumption
|
|
19
|
+
- **Hierarchical Tracing**: Organizes traces with workflow and LLM spans for
|
|
20
|
+
detailed analysis
|
|
21
|
+
|
|
22
|
+
## How It Works
|
|
23
|
+
|
|
24
|
+
### Trace Structure
|
|
25
|
+
|
|
26
|
+
The policy creates a hierarchical trace structure for each AI Gateway request:
|
|
27
|
+
|
|
28
|
+
1. **Trace**: Top-level record representing the complete user interaction
|
|
29
|
+
2. **Workflow Span**: Contains the entire AI Gateway workflow
|
|
30
|
+
3. **LLM Span**: Captures the specific LLM API call details
|
|
31
|
+
|
|
32
|
+
### Data Captured
|
|
33
|
+
|
|
34
|
+
For each request, the policy automatically captures:
|
|
35
|
+
|
|
36
|
+
**Request Information**
|
|
37
|
+
|
|
38
|
+
- User prompts and messages
|
|
39
|
+
- Model parameters (temperature, max_tokens, etc.)
|
|
40
|
+
- Request metadata (route, request ID)
|
|
41
|
+
- Timestamp and duration
|
|
42
|
+
|
|
43
|
+
**Response Information**
|
|
44
|
+
|
|
45
|
+
- Model outputs and completions
|
|
46
|
+
- Token usage (input, output, total tokens)
|
|
47
|
+
- Finish reasons and status
|
|
48
|
+
- Performance metrics
|
|
49
|
+
|
|
50
|
+
**Metadata**
|
|
51
|
+
|
|
52
|
+
- Request ID for correlation
|
|
53
|
+
- Route information
|
|
54
|
+
- Custom tags for categorization
|
|
55
|
+
- Duration in nanoseconds for precise timing
|
|
56
|
+
|
|
57
|
+
## Configuration
|
|
58
|
+
|
|
59
|
+
<Stepper>
|
|
60
|
+
|
|
61
|
+
1. ### Obtain Galileo Credentials
|
|
62
|
+
1. Sign up for a
|
|
63
|
+
[Galileo](https://galileo.ai?utm_source=zuplo&utm_medium=web) account
|
|
64
|
+
2. Create a new project in your Galileo dashboard
|
|
65
|
+
3. Generate an API key specifically for use with Zuplo
|
|
66
|
+
|
|
67
|
+
2. ### Add the policy to your app
|
|
68
|
+
|
|
69
|
+
You can add the policy to any AI Gateway app by clicking on **Policies**,
|
|
70
|
+
then on **Add Policy** and select **Galileo Tracing**.
|
|
71
|
+
|
|
72
|
+

|
|
73
|
+
|
|
74
|
+
3. ### Configure the policy
|
|
75
|
+
|
|
76
|
+
You will need to enter the following information from your Galileo account
|
|
77
|
+
to configure the policy:
|
|
78
|
+
- **`apiKey`**: Your Galileo API key for authentication
|
|
79
|
+
- **`projectId`**: The Galileo project ID to send traces to
|
|
80
|
+
- **`logStreamId`**: The specific log stream within your project
|
|
81
|
+
- **`baseUrl`** (optional): Custom Galileo API endpoint (defaults to
|
|
82
|
+
`https://api.galileo.ai`)
|
|
83
|
+
|
|
84
|
+
:::note
|
|
85
|
+
|
|
86
|
+
The `projectId` and `logStreamId` are both found in the URL of the Galileo
|
|
87
|
+
log stream you want to use. For example:
|
|
88
|
+
`https://app.galileo.ai/your-app/project/3e71c65e-48b6-4f5d-842d-0851c4704f95/log-streams/f8c71402-1f6b-4f5b-b073-1de999e6a8ea`.
|
|
89
|
+
|
|
90
|
+
In this case, the `projectId` is `3e71c65e-48b6-4f5d-842d-0851c4704f95` and
|
|
91
|
+
the `logStreamId` is `f8c71402-1f6b-4f5b-b073-1de999e6a8ea`.
|
|
92
|
+
|
|
93
|
+
:::
|
|
94
|
+
|
|
95
|
+
</Stepper>
|
|
96
|
+
|
|
97
|
+
### Key Metrics
|
|
98
|
+
|
|
99
|
+
The policy automatically tracks:
|
|
100
|
+
|
|
101
|
+
- **Token Usage**: Input, output, and total token counts
|
|
102
|
+
- **Latency**: Request duration in nanoseconds
|
|
103
|
+
- **Throughput**: Requests per second and volume
|
|
104
|
+
- **Error Rates**: Failed requests and error patterns
|
|
105
|
+
- **Model Performance**: Response quality and completion rates
|
|
106
|
+
|
|
107
|
+
### Custom Metadata
|
|
108
|
+
|
|
109
|
+
Each trace includes:
|
|
110
|
+
|
|
111
|
+
- Request ID for correlation with logs
|
|
112
|
+
- Route information for API endpoint analysis
|
|
113
|
+
- Custom tags for categorization
|
|
114
|
+
- User-defined metadata from the request context
|
|
115
|
+
|
|
116
|
+
## Benefits of using Galileo Tracing
|
|
117
|
+
|
|
118
|
+
### Development Workflow
|
|
119
|
+
|
|
120
|
+
- Debug LLM applications with detailed trace inspection
|
|
121
|
+
- Test different models and configurations with comparative analytics
|
|
122
|
+
- Monitor quality regression during development cycles
|
|
123
|
+
|
|
124
|
+
### Production Monitoring
|
|
125
|
+
|
|
126
|
+
- Track performance and costs across all AI operations
|
|
127
|
+
- Identify optimization opportunities through usage pattern analysis
|
|
128
|
+
- Maintain audit logs for compliance and security requirements
|
|
129
|
+
|
|
130
|
+
### Quality Assurance
|
|
131
|
+
|
|
132
|
+
- Evaluate LLM outputs using Galileo's built-in metrics
|
|
133
|
+
- Monitor response quality trends over time
|
|
134
|
+
- Implement automated quality gates based on trace data
|
|
135
|
+
|
|
136
|
+
## Troubleshooting
|
|
137
|
+
|
|
138
|
+
Common issues and solutions:
|
|
139
|
+
|
|
140
|
+
- **Authentication Errors**: Check that your Galileo API key is valid and has
|
|
141
|
+
proper permissions
|
|
142
|
+
- **Configuration Issues**: Ensure the user context includes all required
|
|
143
|
+
Galileo settings
|
|
144
|
+
|
|
145
|
+
## Additional Resources
|
|
146
|
+
|
|
147
|
+
- [Galileo AI Documentation](https://www.galileo.ai/docs)
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: AI Providers
|
|
3
|
+
sidebar_label: Overview
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Zuplo's AI Gateway supports integration with various AI providers, allowing you
|
|
7
|
+
to leverage different models and services for your AI applications.
|
|
8
|
+
|
|
9
|
+
## Supported Providers
|
|
10
|
+
|
|
11
|
+
Zuplo currently supports the following AI providers:
|
|
12
|
+
|
|
13
|
+
- OpenAI
|
|
14
|
+
- Anthropic
|
|
15
|
+
- Google
|
|
16
|
+
- Mistral
|
|
17
|
+
- OpenAI-compatible [Custom Providers](./custom-providers.mdx) (such as Qwen,
|
|
18
|
+
Kimi, etc)
|
|
19
|
+
|
|
20
|
+
The following capabilities are supported across providers:
|
|
21
|
+
|
|
22
|
+
| Provider | Chat Completions | Text Completions | Embeddings | Responses |
|
|
23
|
+
| -------------------------- | ---------------- | ---------------- | ---------- | --------- |
|
|
24
|
+
| OpenAI | ✅ | ✅ | ✅ | ✅ |
|
|
25
|
+
| Anthropic | ✅ | ✅ | ✅ | ❌ |
|
|
26
|
+
| Google | ✅ | ✅ | ✅ | ❌ |
|
|
27
|
+
| Mistral | ✅ | ✅ | ✅ | ❌ |
|
|
28
|
+
| OpenAI-compatible (Custom) | ✅ | ✅ | ✅ | ❌ |
|
|
29
|
+
|
|
30
|
+
If you need support for additional providers or capabilities, please contact us
|
|
31
|
+
at [support@zuplo.com](mailto:support@zuplo.com). We're continually working to
|
|
32
|
+
add support for more providers based on customer demand.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: AI Gateway Teams
|
|
3
|
+
sidebar_label: Overview
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Teams are used to manage access to AI Gateway applications, set usage limits,
|
|
7
|
+
and monitor activity. Each team can have multiple members and sub-teams. Use
|
|
8
|
+
teams to group users by department, project, or any other logical grouping.
|
|
9
|
+
|
|
10
|
+
## Teams & Apps
|
|
11
|
+
|
|
12
|
+
Apps in the AI Gateway represent any app or integration that will call the AI
|
|
13
|
+
Gateway. Apps in the AI Gateway are owned by a specific team. Members of the
|
|
14
|
+
team will have permissions to perform various actions on the App depending on
|
|
15
|
+
their permissions.
|
|
16
|
+
|
|
17
|
+
## Members
|
|
18
|
+
|
|
19
|
+
Members are the users who belong to a team. The permission of a member will
|
|
20
|
+
depend on their role in the Zuplo account, project, and team.
|
|
21
|
+
|
|
22
|
+
There are two roles at the team level:
|
|
23
|
+
|
|
24
|
+
- **Member**: Can access AI Providers and Apps assigned to the team.
|
|
25
|
+
- **Admin**: Can manage team settings, members, and access AI Providers and Apps
|
|
26
|
+
assigned to the team.
|
|
27
|
+
|
|
28
|
+
For more information on roles and permissions, see the
|
|
29
|
+
[document on roles and permissions](../articles/accounts/roles-and-permissions.mdx).
|
|
30
|
+
|
|
31
|
+
**Additional Resources**
|
|
32
|
+
|
|
33
|
+
- [Role Permissions](../articles/accounts/roles-and-permissions.mdx) - Details
|
|
34
|
+
on the roles available at the account and project levels.
|
|
35
|
+
- [Creating & Editing Teams](./managing-teams.mdx) - How to create and edit
|
|
36
|
+
teams.
|
|
37
|
+
- [Creating & Editing Apps](./managing-apps.mdx) - How to add, remove, and set
|
|
38
|
+
roles for project members.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: AI Gateway Universal API
|
|
3
|
+
sidebar_label: Universal API
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Zuplo AI Gateway provides a universal API that standardizes interactions with
|
|
7
|
+
various AI providers. This API follows the
|
|
8
|
+
[OpenAI API specification](https://platform.openai.com/docs/api-reference/introduction),
|
|
9
|
+
making it easy to integrate with existing applications that already use OpenAI's
|
|
10
|
+
API.
|
|
11
|
+
|
|
12
|
+
## Using the Universal API
|
|
13
|
+
|
|
14
|
+
The Universal API is automatically enabled for all AI Gateway applications.
|
|
15
|
+
Using this endpoint is as simple as changing your API base URL to point to
|
|
16
|
+
Zuplo. For example, if your Zuplo application is hosted at
|
|
17
|
+
`https://my-ai-gateway.zuplo.app`, you can simply change the base URL in your
|
|
18
|
+
API client to `https://my-ai-gateway.zuplo.app/v1`.
|
|
19
|
+
|
|
20
|
+
If you are using an SDK or library that supports custom base URLs, you can
|
|
21
|
+
configure it to use your Zuplo application's URL. For example, with the OpenAI
|
|
22
|
+
Node.js SDK, you can set the `baseURL` option:
|
|
23
|
+
|
|
24
|
+
```ts
|
|
25
|
+
import OpenAI from "openai";
|
|
26
|
+
|
|
27
|
+
const client = new OpenAI({
|
|
28
|
+
apiKey: process.env.ZUPLO_API_KEY,
|
|
29
|
+
baseURL: "https://my-ai-gateway.zuplo.app/v1",
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
const response = await client.chat.completions.create({
|
|
33
|
+
model: "gpt-4",
|
|
34
|
+
messages: [
|
|
35
|
+
{
|
|
36
|
+
role: "user",
|
|
37
|
+
content: "Write a one-sentence bedtime story about a unicorn.",
|
|
38
|
+
},
|
|
39
|
+
],
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
console.log(response.choices[0].message.content);
|
|
43
|
+
```
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Usage Limits & Thresholds"
|
|
3
|
+
sidebar_label: "Usage Limits"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
The Zuplo AI Gateway provides hierarchical usage limits and budget controls to
|
|
7
|
+
manage LLM spending across your organization. Limits can be set at the
|
|
8
|
+
organization, team, and application levels.
|
|
9
|
+
|
|
10
|
+
## Budget Hierarchy
|
|
11
|
+
|
|
12
|
+
Budget limits cascade down through your organizational structure:
|
|
13
|
+
|
|
14
|
+
- **Root Team** - Organization-wide limits (for example, $1,000/day)
|
|
15
|
+
- **Sub-Teams** - Team-specific limits that cannot exceed the parent team's
|
|
16
|
+
budget (for example, $500/day for the Engineering team)
|
|
17
|
+
- **Applications** - Per-app limits for granular control (for example, $10/day
|
|
18
|
+
for a hackathon project)
|
|
19
|
+
|
|
20
|
+
A sub-team's budget can never exceed the available budget from its parent team.
|
|
21
|
+
Similarly, an application's budget cannot exceed its owning team's budget.
|
|
22
|
+
|
|
23
|
+
## Configuring Limits
|
|
24
|
+
|
|
25
|
+
### Daily Budgets
|
|
26
|
+
|
|
27
|
+
Set a maximum daily spend for a team or application. When the daily budget is
|
|
28
|
+
reached, requests are either blocked or flagged with a warning depending on your
|
|
29
|
+
enforcement configuration.
|
|
30
|
+
|
|
31
|
+
To configure daily budgets:
|
|
32
|
+
|
|
33
|
+
1. Navigate to your AI Gateway project in the
|
|
34
|
+
[Zuplo Portal](https://portal.zuplo.com)
|
|
35
|
+
2. Select the **Teams** or **Apps** tab
|
|
36
|
+
3. Click on the team or app to edit
|
|
37
|
+
4. Select the **Usage & Limits** tab and configure the **Daily Budget** field
|
|
38
|
+
5. Click **Save Changes**
|
|
39
|
+
|
|
40
|
+
### Monthly Budgets
|
|
41
|
+
|
|
42
|
+
Set a maximum monthly spend for applications. Monthly budgets reset on the first
|
|
43
|
+
day of each calendar month.
|
|
44
|
+
|
|
45
|
+
### Rate Limits
|
|
46
|
+
|
|
47
|
+
In addition to budget-based limits, you can configure request rate limits to
|
|
48
|
+
control the volume of requests flowing through the gateway.
|
|
49
|
+
|
|
50
|
+
## Enforcement Modes
|
|
51
|
+
|
|
52
|
+
When a limit is reached, the AI Gateway can operate in two modes:
|
|
53
|
+
|
|
54
|
+
- **Enforce** - Requests are blocked and an error response is returned to the
|
|
55
|
+
caller
|
|
56
|
+
- **Warn** - Requests are allowed through but a warning notification is
|
|
57
|
+
generated
|
|
58
|
+
|
|
59
|
+
## Monitoring Usage
|
|
60
|
+
|
|
61
|
+
Track current usage and spending through the AI Gateway dashboard:
|
|
62
|
+
|
|
63
|
+
1. Navigate to your AI Gateway project
|
|
64
|
+
2. Click on an app and select **Dashboard**
|
|
65
|
+
3. View real-time metrics including:
|
|
66
|
+
- Request count
|
|
67
|
+
- Token usage (input and output)
|
|
68
|
+
- Current spending against budget
|
|
69
|
+
- Time to first byte
|
|
70
|
+
|
|
71
|
+
## Semantic Caching
|
|
72
|
+
|
|
73
|
+
Enable semantic caching on applications to reduce costs by identifying and
|
|
74
|
+
returning cached responses for similar prompts. This can significantly reduce
|
|
75
|
+
token usage and spending, especially for applications with repeated or similar
|
|
76
|
+
queries.
|
|
77
|
+
|
|
78
|
+
To enable semantic caching:
|
|
79
|
+
|
|
80
|
+
1. Navigate to the **Apps** tab and click on the app to edit
|
|
81
|
+
2. Enable the **Semantic Caching** toggle under **Advanced Features**
|
|
82
|
+
3. Save your changes
|
|
83
|
+
|
|
84
|
+
## Related Resources
|
|
85
|
+
|
|
86
|
+
- [Getting Started](./getting-started.mdx) - Set up your first AI Gateway
|
|
87
|
+
project with budget controls
|
|
88
|
+
- [Managing Teams](./managing-teams.mdx) - Configure team-level budgets
|
|
89
|
+
- [Managing Apps](./managing-apps.mdx) - Configure app-level limits
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Zuplo API Management
|
|
3
|
+
sidebar_label: Introduction
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
The Zuplo API Gateway is a fully-managed, lightweight API management platform
|
|
7
|
+
designed for developers. It offers fast deployment, GitOps-friendly workflows,
|
|
8
|
+
and unlimited environments. Whether you're an individual developer or part of an
|
|
9
|
+
engineering team, Zuplo makes it easy to:
|
|
10
|
+
|
|
11
|
+
- [Add authentication and access control](../articles/step-3-add-api-key-auth.mdx)
|
|
12
|
+
- [Implement rate limiting](../articles/step-2-add-rate-limiting.mdx)
|
|
13
|
+
- Write custom logic to run at the gateway layer
|
|
14
|
+
- Build a [rich developer portal](../dev-portal/introduction.mdx) with
|
|
15
|
+
self-serve tools for auth and monetization
|
|
16
|
+
|
|
17
|
+
Zuplo delivers the core benefits of API management without the overhead of
|
|
18
|
+
legacy platforms. That means no expensive licensing, training requirements, or
|
|
19
|
+
complex setup.
|
|
20
|
+
|
|
21
|
+
Everything in Zuplo is defined through code and stored in source control.
|
|
22
|
+
Deployments are handled through Git-based workflows and go live globally in
|
|
23
|
+
under 20 seconds.
|
|
24
|
+
|
|
25
|
+
Explore more by [booking a demo](https://zuplo.com/meeting?utm_source=docs) or
|
|
26
|
+
[signing up](https://portal.zuplo.com/signup?utm_source=docs) for free.
|
|
27
|
+
|
|
28
|
+
## Zuplo in your stack
|
|
29
|
+
|
|
30
|
+
Zuplo is a serverless gateway that runs at the edge in over 300 data centers
|
|
31
|
+
worldwide. This edge-first architecture provides:
|
|
32
|
+
|
|
33
|
+
- Built-in redundancy and high availability
|
|
34
|
+
- Low-latency performance—typically within 50ms of most users
|
|
35
|
+
|
|
36
|
+
Zuplo is cloud-agnostic. It integrates with backends running on AWS, Azure, GCP,
|
|
37
|
+
or private infrastructure. Multiple
|
|
38
|
+
[secure connectivity options](../articles/securing-your-backend.mdx) are
|
|
39
|
+
available.
|
|
40
|
+
|
|
41
|
+
In most setups, Zuplo sits between clients and your backend API—whether those
|
|
42
|
+
clients are servers, browsers, mobile apps, or IoT devices. Traffic is routed
|
|
43
|
+
through Zuplo, where you can enforce policies like rate limiting and
|
|
44
|
+
authentication, validate requests, and apply transformations before requests
|
|
45
|
+
reach your backend.
|
|
46
|
+
|
|
47
|
+

|
|
48
|
+
|
|
49
|
+
Zuplo also supports global traffic management. Customers with distributed
|
|
50
|
+
backends use Zuplo to route requests to the nearest data center, optimizing for
|
|
51
|
+
speed and reliability.
|
|
52
|
+
|
|
53
|
+

|
|
54
|
+
|
|
55
|
+
## Protocols
|
|
56
|
+
|
|
57
|
+
Zuplo can proxy any HTTP traffic. It supports REST, GraphQL, WebSockets, and
|
|
58
|
+
other HTTP-based protocols (including legacy systems proxying SOAP over HTTP!).
|
|
59
|
+
HTTP/2 is fully supported.
|
|
60
|
+
|
|
61
|
+
## Languages
|
|
62
|
+
|
|
63
|
+
Zuplo is configured via JSON and extended using TypeScript or JavaScript. Your
|
|
64
|
+
backend can be written in any language that speaks HTTP, such as Go, Node.js,
|
|
65
|
+
.NET, Java, C, and more.
|
|
66
|
+
|
|
67
|
+
## Integrations
|
|
68
|
+
|
|
69
|
+
Zuplo integrates with platforms like Datadog, New Relic and GCP Cloud Logging
|
|
70
|
+
for monitoring and observability. New integrations are continuously added based
|
|
71
|
+
on customer needs. [Reach out](../articles/support.mdx) if you need support for
|
|
72
|
+
a specific tool.
|
|
73
|
+
|
|
74
|
+
## Runtime
|
|
75
|
+
|
|
76
|
+
The Zuplo runtime is based on Web Worker technology, supporting JavaScript and
|
|
77
|
+
WebAssembly. It's the same foundational tech used by platforms like Deno Deploy,
|
|
78
|
+
Fastly, Vercel Edge Functions and Cloudflare Workers.
|
|
79
|
+
|
|
80
|
+
This architecture offers key benefits:
|
|
81
|
+
|
|
82
|
+
- Near-zero cold start time
|
|
83
|
+
- High throughput
|
|
84
|
+
- Strong developer ergonomics—built on familiar browser APIs like
|
|
85
|
+
[Response Web API](https://developer.mozilla.org/en-US/docs/Web/API/Response)
|
|
86
|
+
|
|
87
|
+
## Performance and latency
|
|
88
|
+
|
|
89
|
+
Zuplo processes billions of requests monthly and has been tested to handle over
|
|
90
|
+
10,000 requests per second, even with policies like API key validation and rate
|
|
91
|
+
limiting enabled.
|
|
92
|
+
|
|
93
|
+
Typical added latency is in the low milliseconds. Policies are highly optimized
|
|
94
|
+
and can be tuned to meet specific performance goals.
|
|
95
|
+
|
|
96
|
+
## Multi-cloud
|
|
97
|
+
|
|
98
|
+
Zuplo is designed to work seamlessly with services across cloud providers
|
|
99
|
+
including AWS, Azure, GCP, and on-premise environments.
|
|
100
|
+
|
|
101
|
+
The distributed architecture and
|
|
102
|
+
[connectivity options](../articles/securing-your-backend.mdx) ensure secure,
|
|
103
|
+
performant connections to your backend, wherever it runs.
|
|
104
|
+
|
|
105
|
+
## Security and Compliance
|
|
106
|
+
|
|
107
|
+
Zuplo is built with a security-first architecture and offers robust tools for
|
|
108
|
+
securing APIs in production environments:
|
|
109
|
+
|
|
110
|
+
- Support for API key auth, OAuth2, mTLS, IP allowlisting, and custom
|
|
111
|
+
authentication logic
|
|
112
|
+
- Fine-grained access control and rate limiting applied at the edge
|
|
113
|
+
- Token validation and request enforcement before hitting your backend
|
|
114
|
+
|
|
115
|
+
Zuplo is SOC 2 Type II compliant and operates in a multi-tenant, zero-trust
|
|
116
|
+
model. All data in transit is encrypted using TLS 1.2+, and backend secrets are
|
|
117
|
+
managed securely.
|
|
118
|
+
|
|
119
|
+
Deployments are Git-based and fully auditable. All gateway configurations are
|
|
120
|
+
defined as code, making it easy to enforce policy-as-code and maintain
|
|
121
|
+
traceability.
|
|
122
|
+
|
|
123
|
+
For teams with strict compliance or data residency requirements Zuplo offers
|
|
124
|
+
customizable deployment options, including managed dedicated instances and
|
|
125
|
+
tailored configurations.
|
|
126
|
+
[Book a demo](https://calendly.com/zuplo-api/api-discussion) to discuss your
|
|
127
|
+
needs.
|