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,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)
|