zuplo 6.70.71 → 6.71.1
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/docs/analytics/access-and-entitlements.md +1 -1
- package/docs/analytics/overview.md +12 -8
- package/docs/analytics/reference/metrics-glossary.md +3 -3
- package/docs/analytics/shared-controls.md +12 -11
- package/docs/analytics/tabs/agents.md +14 -14
- package/docs/analytics/tabs/consumers.md +6 -6
- package/docs/analytics/tabs/graphql.md +5 -4
- package/docs/analytics/tabs/mcp.md +7 -7
- package/docs/analytics/tabs/origins.md +11 -10
- package/docs/analytics/tabs/requests.md +6 -5
- package/docs/articles/accounts/enterprise-sso.mdx +8 -6
- package/docs/articles/api-key-administration.mdx +4 -0
- package/docs/articles/bypass-policy-for-testing.mdx +4 -0
- package/docs/articles/environment-variables.mdx +5 -1
- package/docs/articles/environments.mdx +2 -2
- package/docs/articles/graphql.mdx +125 -74
- package/docs/articles/mcp-quickstart-local.mdx +2 -1
- package/docs/articles/mcp-quickstart.mdx +6 -1
- package/docs/articles/multiple-auth-policies.mdx +2 -2
- package/docs/articles/openapi.mdx +6 -1
- package/docs/articles/rename-or-move-project.mdx +4 -0
- package/docs/articles/securing-your-backend.mdx +11 -3
- package/docs/articles/source-control-setup-github.mdx +4 -0
- package/docs/articles/troubleshooting-slow-responses.mdx +2 -2
- package/docs/articles/troubleshooting.md +3 -3
- package/docs/dedicated/akamai/architecture.mdx +9 -9
- package/docs/dev-portal/zudoku/components/browser-window.mdx +94 -0
- package/docs/dev-portal/zudoku/components/landing-page.mdx +283 -0
- package/docs/handlers/system-handlers.mdx +2 -1
- package/docs/mcp-gateway/how-to/connect-upstream-api-key.mdx +2 -2
- package/docs/mcp-gateway/observability/analytics.mdx +17 -13
- package/docs/mcp-gateway/quickstart.mdx +4 -3
- package/docs/mcp-gateway/troubleshooting.mdx +4 -4
- package/docs/policies/_index.md +1 -0
- package/docs/policies/data-loss-prevention-inbound/doc.md +23 -24
- package/docs/policies/data-loss-prevention-inbound/intro.md +9 -9
- package/docs/policies/data-loss-prevention-outbound/doc.md +25 -26
- package/docs/policies/data-loss-prevention-outbound/intro.md +10 -10
- package/docs/policies/graphql-analytics-outbound/doc.md +93 -0
- package/docs/policies/graphql-analytics-outbound/intro.md +12 -0
- package/docs/policies/graphql-analytics-outbound/schema.json +93 -0
- package/docs/programmable-api/zuplo-context.mdx +3 -2
- package/package.json +4 -4
|
@@ -62,7 +62,7 @@ Remove the `demo` parameter from the URL to return to your real data.
|
|
|
62
62
|
## Scope: account vs project
|
|
63
63
|
|
|
64
64
|
- **Account scope** aggregates across every project in the account. The Requests
|
|
65
|
-
|
|
65
|
+
section adds **Project Name** and **Deployment Name** as breakdowns; click a
|
|
66
66
|
project name to drill into project scope.
|
|
67
67
|
- **Project scope** filters to a single project and adds an **Environment**
|
|
68
68
|
selector (Working Copy, Production, Preview, Other) in the top bar.
|
|
@@ -19,12 +19,15 @@ you're answering "is anyone actually using this endpoint?"
|
|
|
19
19
|
|
|
20
20
|
## How to access
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
Analytics lives in the **Observability** tab of the Zuplo Portal, alongside
|
|
23
|
+
**Logs** and **Traces**. The page works at two scopes:
|
|
23
24
|
|
|
24
25
|
- **Account scope**: aggregates across every project in your account. Open
|
|
25
|
-
[
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
[**Observability → Analytics**](https://portal.zuplo.com/+/account/observability/analytics)
|
|
27
|
+
at the account level.
|
|
28
|
+
- **Project scope**: open a project, click **Observability**, then select
|
|
29
|
+
**Analytics**. This view filters to one project and adds an **Environment**
|
|
30
|
+
selector.
|
|
28
31
|
|
|
29
32
|
## What's in this section
|
|
30
33
|
|
|
@@ -32,7 +35,7 @@ Open **Analytics** in the Zuplo portal sidebar. The page works at two scopes:
|
|
|
32
35
|
demo mode, retention.
|
|
33
36
|
- [Shared controls](./shared-controls.md): time range, filters, environment
|
|
34
37
|
selector, banners, URL state.
|
|
35
|
-
-
|
|
38
|
+
- Sections:
|
|
36
39
|
- [Requests](./tabs/requests.md): overall traffic, latency, errors.
|
|
37
40
|
- [Origins](./tabs/origins.md): backend performance.
|
|
38
41
|
- [Consumers](./tabs/consumers.md): per-consumer breakdowns.
|
|
@@ -46,11 +49,12 @@ Open **Analytics** in the Zuplo portal sidebar. The page works at two scopes:
|
|
|
46
49
|
percentile defined once.
|
|
47
50
|
- [URL parameters](./reference/url-parameters.md): permalink reference.
|
|
48
51
|
|
|
49
|
-
##
|
|
52
|
+
## Section visibility
|
|
50
53
|
|
|
51
|
-
|
|
54
|
+
Analytics is split into sections, listed in a sidebar on the left of the page.
|
|
55
|
+
You'll see a subset of sections depending on your plan and project setup:
|
|
52
56
|
|
|
53
|
-
|
|
|
57
|
+
| Section | When it appears |
|
|
54
58
|
| --------- | ---------------------------------------------------------- |
|
|
55
59
|
| Requests | All accounts with advanced analytics enabled. |
|
|
56
60
|
| Origins | The project uses managed-edge origins. |
|
|
@@ -4,7 +4,7 @@ sidebar_label: "Metrics Glossary"
|
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
This page defines every term used in the Analytics dashboards once. KPI tables
|
|
7
|
-
on
|
|
7
|
+
on section pages link here for depth.
|
|
8
8
|
|
|
9
9
|
## HTTP status classes
|
|
10
10
|
|
|
@@ -43,7 +43,7 @@ longer. P95 is the standard tail-latency metric.
|
|
|
43
43
|
outlier behavior that P95 may smooth over.
|
|
44
44
|
|
|
45
45
|
**Latency distribution histogram.** Bands at P10, P50, P90, P95, P99. Clicking a
|
|
46
|
-
band
|
|
46
|
+
band in the Requests section filters to requests in that duration range.
|
|
47
47
|
|
|
48
48
|
## Active edge instances
|
|
49
49
|
|
|
@@ -81,7 +81,7 @@ MCP events use these outcome classes:
|
|
|
81
81
|
|
|
82
82
|
## GraphQL error classes
|
|
83
83
|
|
|
84
|
-
The GraphQL
|
|
84
|
+
The GraphQL section groups errors by where they arise:
|
|
85
85
|
|
|
86
86
|
| Class | Meaning |
|
|
87
87
|
| ---------- | ---------------------------------------------------------------- |
|
|
@@ -3,19 +3,20 @@ title: "Shared Controls"
|
|
|
3
3
|
sidebar_label: "Shared Controls"
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
Every Analytics
|
|
7
|
-
range picker, a filter bar, and (at project scope) an environment selector.
|
|
6
|
+
Every Analytics section uses the same set of controls at the top of the page: a
|
|
7
|
+
time range picker, a filter bar, and (at project scope) an environment selector.
|
|
8
8
|
State persists to the URL so you can share or bookmark any view.
|
|
9
9
|
|
|
10
10
|
## When to use this
|
|
11
11
|
|
|
12
|
-
- Narrow a
|
|
12
|
+
- Narrow a section to a time window, environment, or set of filter values.
|
|
13
13
|
- Build a shareable link to a specific view.
|
|
14
14
|
- Understand what each banner across the top of the page means.
|
|
15
15
|
|
|
16
16
|
## Time range
|
|
17
17
|
|
|
18
|
-
The time range picker controls every chart, table, and KPI
|
|
18
|
+
The time range picker controls every chart, table, and KPI in the active
|
|
19
|
+
section.
|
|
19
20
|
|
|
20
21
|
**Presets.** Last 1h, 6h, 24h, 3d, 7d, 14d, 28d, 60d, 90d.
|
|
21
22
|
|
|
@@ -28,7 +29,7 @@ for [preset]** tooltip. See
|
|
|
28
29
|
|
|
29
30
|
## Filters
|
|
30
31
|
|
|
31
|
-
Filters render as removable pills in a sticky bar at the top of the
|
|
32
|
+
Filters render as removable pills in a sticky bar at the top of the page. Add a
|
|
32
33
|
filter from any breakdown table by clicking a value, or build one manually.
|
|
33
34
|
|
|
34
35
|
**Match modes.** Each filter uses one of:
|
|
@@ -46,9 +47,9 @@ filter from any breakdown table by clicking a value, or build one manually.
|
|
|
46
47
|
**Clearing.** Remove a single pill with its **×**, or click **Clear all
|
|
47
48
|
filters** to reset.
|
|
48
49
|
|
|
49
|
-
**Disabled fields.** Some fields are grayed out
|
|
50
|
-
For example, `originHost` is unavailable on Requests, Consumers, and
|
|
51
|
-
`userSub` is unavailable on Origins.
|
|
50
|
+
**Disabled fields.** Some fields are grayed out in sections where they don't
|
|
51
|
+
apply. For example, `originHost` is unavailable on Requests, Consumers, and
|
|
52
|
+
Agents; `userSub` is unavailable on Origins.
|
|
52
53
|
|
|
53
54
|
## Environment selector
|
|
54
55
|
|
|
@@ -103,9 +104,9 @@ Banners appear at the top of the page in this priority order:
|
|
|
103
104
|
|
|
104
105
|
## Loading and empty states
|
|
105
106
|
|
|
106
|
-
Each
|
|
107
|
-
product analytics
|
|
108
|
-
flashing when data is already cached. Empty states
|
|
107
|
+
Each section uses a shape-aware skeleton while the first request is in flight.
|
|
108
|
+
The product analytics sections (MCP, GraphQL) suppress that skeleton briefly to
|
|
109
|
+
avoid flashing when data is already cached. Empty states there include a short
|
|
109
110
|
description and a "Read the … docs" link to the relevant product section.
|
|
110
111
|
|
|
111
112
|
## Status colors
|
|
@@ -3,9 +3,9 @@ title: "Agents"
|
|
|
3
3
|
sidebar_label: "Agents"
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
The **Agents**
|
|
7
|
-
ChatGPT, Claude.ai, Cursor, GPTBot, and similar clients. It's a focused
|
|
8
|
-
browsers, webhooks, and generic SDK callers are excluded.
|
|
6
|
+
The **Agents** section isolates AI agent traffic: requests classified as coming
|
|
7
|
+
from ChatGPT, Claude.ai, Cursor, GPTBot, and similar clients. It's a focused
|
|
8
|
+
view; browsers, webhooks, and generic SDK callers are excluded.
|
|
9
9
|
|
|
10
10
|
## When to use this
|
|
11
11
|
|
|
@@ -27,7 +27,7 @@ browsers, webhooks, and generic SDK callers are excluded.
|
|
|
27
27
|
## Charts
|
|
28
28
|
|
|
29
29
|
**Request Volume.** Stacked bars by status class. Granularity is always hourly
|
|
30
|
-
|
|
30
|
+
in this section.
|
|
31
31
|
|
|
32
32
|
**Agent Error Rates.** 4xx and 5xx over time. _What to look for:_ divergence
|
|
33
33
|
between agents is the headline signal. If Cursor shows a 12% 4xx rate while
|
|
@@ -48,7 +48,7 @@ your endpoint.
|
|
|
48
48
|
| 4xx sparkline | Inline trend over the window. |
|
|
49
49
|
| 5xx sparkline | Inline trend over the window. |
|
|
50
50
|
|
|
51
|
-
Searchable and sortable on any column. Click a row to filter the
|
|
51
|
+
Searchable and sortable on any column. Click a row to filter the section to that
|
|
52
52
|
agent. **Show more** loads the next 50.
|
|
53
53
|
|
|
54
54
|
## Classified agents
|
|
@@ -57,12 +57,12 @@ The classifier currently recognizes: ChatGPT, Claude.ai, Cursor, Claude Code,
|
|
|
57
57
|
GPTBot, Perplexity, Cline, Continue, OpenAI SDK, Anthropic SDK, Google AI,
|
|
58
58
|
Common Crawl. The list expands over time.
|
|
59
59
|
|
|
60
|
-
|
|
60
|
+
The Agents section excludes unclassified traffic.
|
|
61
61
|
|
|
62
62
|
:::warning
|
|
63
63
|
|
|
64
|
-
Agent charts use a dedicated hourly rollup. Filtering other
|
|
65
|
-
supported. Use the Agents
|
|
64
|
+
Agent charts use a dedicated hourly rollup. Filtering other sections by agent
|
|
65
|
+
isn't supported. Use the Agents section to drill into an individual agent.
|
|
66
66
|
|
|
67
67
|
:::
|
|
68
68
|
|
|
@@ -73,10 +73,10 @@ The filter bar applies. `originHost` is not applicable here. See
|
|
|
73
73
|
|
|
74
74
|
## Troubleshooting
|
|
75
75
|
|
|
76
|
-
**The Agents
|
|
77
|
-
the window, or your retention window doesn't yet include any agent traffic.
|
|
78
|
-
the demo with **View demo →** in the trial banner to see what a populated
|
|
79
|
-
looks like. See [Access and entitlements](../access-and-entitlements.md).
|
|
76
|
+
**The Agents section is empty.** Either no classified agents called your gateway
|
|
77
|
+
in the window, or your retention window doesn't yet include any agent traffic.
|
|
78
|
+
Try the demo with **View demo →** in the trial banner to see what a populated
|
|
79
|
+
view looks like. See [Access and entitlements](../access-and-entitlements.md).
|
|
80
80
|
|
|
81
81
|
**I see a known agent in my logs but not here.** The classifier is conservative;
|
|
82
82
|
it labels traffic that clearly matches a known agent fingerprint. Generic SDK
|
|
@@ -84,5 +84,5 @@ traffic that doesn't identify itself is excluded. If you believe an agent should
|
|
|
84
84
|
be classified, send the User-Agent string to your Zuplo contact.
|
|
85
85
|
|
|
86
86
|
**An agent shows zero requests but appears in the table.** Filters on the rest
|
|
87
|
-
of the
|
|
88
|
-
verify.
|
|
87
|
+
of the section may be excluding its traffic for the current window. Clear
|
|
88
|
+
filters to verify.
|
|
@@ -3,10 +3,10 @@ title: "Consumers"
|
|
|
3
3
|
sidebar_label: "Consumers"
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
The **Consumers**
|
|
7
|
-
gateway, whether authenticated or anonymous. Use it to see who your
|
|
8
|
-
callers are, who's hitting errors, and which consumers experience the
|
|
9
|
-
latency.
|
|
6
|
+
The **Consumers** section breaks traffic down by API consumer: anyone calling
|
|
7
|
+
your gateway, whether authenticated or anonymous. Use it to see who your
|
|
8
|
+
noisiest callers are, who's hitting errors, and which consumers experience the
|
|
9
|
+
slowest latency.
|
|
10
10
|
|
|
11
11
|
## When to use this
|
|
12
12
|
|
|
@@ -48,12 +48,12 @@ looking at one consumer or all of them.
|
|
|
48
48
|
| 5xx sparkline | Inline trend over the window. |
|
|
49
49
|
|
|
50
50
|
The table is searchable and sortable on any column (default: requests
|
|
51
|
-
descending). Clicking a row filters the entire
|
|
51
|
+
descending). Clicking a row filters the entire section to that consumer. **Show
|
|
52
52
|
more** loads the next 50.
|
|
53
53
|
|
|
54
54
|
## Filters
|
|
55
55
|
|
|
56
|
-
The filter bar applies. `originHost`
|
|
56
|
+
The filter bar applies. `originHost` doesn't apply in this section. See
|
|
57
57
|
[Shared controls](../shared-controls.md#filters).
|
|
58
58
|
|
|
59
59
|
## Troubleshooting
|
|
@@ -3,7 +3,7 @@ title: "GraphQL"
|
|
|
3
3
|
sidebar_label: "GraphQL"
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
The **GraphQL**
|
|
6
|
+
The **GraphQL** section breaks traffic down by GraphQL operation: the queries,
|
|
7
7
|
mutations, and subscriptions clients send through routes you've marked as
|
|
8
8
|
GraphQL endpoints. Use it to find your most-used operations, separate validation
|
|
9
9
|
and resolver errors, and see how much of each operation's latency falls in your
|
|
@@ -64,13 +64,14 @@ The filter bar applies. See [Shared controls](../shared-controls.md#filters).
|
|
|
64
64
|
|
|
65
65
|
## Troubleshooting
|
|
66
66
|
|
|
67
|
-
**The GraphQL
|
|
67
|
+
**The GraphQL section is empty.** No GraphQL operations arrived in the selected
|
|
68
68
|
window. Operations appear once a client sends a query, mutation, or subscription
|
|
69
69
|
through a route you've marked as a GraphQL endpoint. See
|
|
70
70
|
[GraphQL on Zuplo](../../articles/graphql.mdx) for how to mark a route.
|
|
71
71
|
|
|
72
|
-
**The
|
|
73
|
-
as a GraphQL endpoint. See
|
|
72
|
+
**The section isn't visible.** Visibility requires at least one route you've
|
|
73
|
+
marked as a GraphQL endpoint. See
|
|
74
|
+
[GraphQL on Zuplo](../../articles/graphql.mdx).
|
|
74
75
|
|
|
75
76
|
**Total latency is high but resolver latency is low.** The operation spends its
|
|
76
77
|
time outside your resolvers. Check the gateway policies on the GraphQL route —
|
|
@@ -3,8 +3,8 @@ title: "MCP"
|
|
|
3
3
|
sidebar_label: "MCP"
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
The **MCP**
|
|
7
|
-
auth decisions, virtual-server routing, capability and tool invocations,
|
|
6
|
+
The **MCP** section shows Model Context Protocol traffic through Zuplo: OAuth
|
|
7
|
+
and auth decisions, virtual-server routing, capability and tool invocations,
|
|
8
8
|
JSON-RPC method usage, and upstream MCP server health. It covers both traffic
|
|
9
9
|
that flows _to_ an MCP fleet through Zuplo's gateway and activity _inside_ MCP
|
|
10
10
|
servers you host on Zuplo. It's visible when the project type is **standard**
|
|
@@ -68,12 +68,12 @@ The filter bar applies. See [Shared controls](../shared-controls.md#filters).
|
|
|
68
68
|
|
|
69
69
|
## Troubleshooting
|
|
70
70
|
|
|
71
|
-
**The MCP
|
|
72
|
-
client connects and invokes a capability or tool, the dashboard populates.
|
|
71
|
+
**The MCP section is empty.** No MCP events arrived in the selected window. Once
|
|
72
|
+
a client connects and invokes a capability or tool, the dashboard populates.
|
|
73
73
|
|
|
74
|
-
**The
|
|
75
|
-
MCP in use — either an MCP gateway that routes to upstream servers, or an
|
|
76
|
-
server you host on Zuplo.
|
|
74
|
+
**The section isn't visible.** Visibility requires project type **standard**
|
|
75
|
+
with MCP in use — either an MCP gateway that routes to upstream servers, or an
|
|
76
|
+
MCP server you host on Zuplo.
|
|
77
77
|
|
|
78
78
|
**Errors show but Failure Origins is empty.** Zuplo classifies failure origins
|
|
79
79
|
server-side from event metadata. Events without a clear origin classification
|
|
@@ -3,9 +3,9 @@ title: "Origins"
|
|
|
3
3
|
sidebar_label: "Origins"
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
The **Origins**
|
|
7
|
-
to is performing in terms of volume, error rate, and latency. It's visible
|
|
8
|
-
the project uses managed-edge origins.
|
|
6
|
+
The **Origins** section shows backend performance: how each upstream host you
|
|
7
|
+
proxy to is performing in terms of volume, error rate, and latency. It's visible
|
|
8
|
+
when the project uses managed-edge origins.
|
|
9
9
|
|
|
10
10
|
## When to use this
|
|
11
11
|
|
|
@@ -65,18 +65,19 @@ The table is hidden when no tunnel traffic is present.
|
|
|
65
65
|
|
|
66
66
|
## Filters
|
|
67
67
|
|
|
68
|
-
The filter bar applies, with one exception: `userSub`
|
|
69
|
-
|
|
68
|
+
The filter bar applies, with one exception: `userSub` doesn't apply in this
|
|
69
|
+
section. See [Shared controls](../shared-controls.md#filters).
|
|
70
70
|
|
|
71
71
|
## Troubleshooting
|
|
72
72
|
|
|
73
|
-
**The Origins
|
|
74
|
-
managed-edge origins. If your project routes traffic differently, the
|
|
73
|
+
**The Origins section isn't visible.** It appears only when the project uses
|
|
74
|
+
managed-edge origins. If your project routes traffic differently, the section is
|
|
75
75
|
hidden.
|
|
76
76
|
|
|
77
77
|
**Service Tunnels table is missing.** That table only renders when at least one
|
|
78
78
|
origin is reached over a service tunnel.
|
|
79
79
|
|
|
80
|
-
**A 5xx spike on one origin doesn't match the Requests
|
|
81
|
-
the Requests
|
|
82
|
-
filters or
|
|
80
|
+
**A 5xx spike on one origin doesn't match the Requests section.** If you've
|
|
81
|
+
filtered the Requests section to a different route or status class, totals won't
|
|
82
|
+
match. Clear filters or apply the same filters in both sections before
|
|
83
|
+
comparing.
|
|
@@ -3,9 +3,9 @@ title: "Requests"
|
|
|
3
3
|
sidebar_label: "Requests"
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
The **Requests**
|
|
7
|
-
your gateway in the selected time window, with charts and breakdowns for
|
|
8
|
-
latency, and errors.
|
|
6
|
+
The **Requests** section is the default Analytics overview: every request
|
|
7
|
+
through your gateway in the selected time window, with charts and breakdowns for
|
|
8
|
+
volume, latency, and errors.
|
|
9
9
|
|
|
10
10
|
## When to use this
|
|
11
11
|
|
|
@@ -44,7 +44,8 @@ subset of requests.
|
|
|
44
44
|
**Error Rate.** 4xx and 5xx rates plotted over time.
|
|
45
45
|
|
|
46
46
|
**Latency Distribution.** A histogram of P10, P50, P90, P95, and P99 buckets.
|
|
47
|
-
Click a band to filter the rest of the
|
|
47
|
+
Click a band to filter the rest of the section to requests in that duration
|
|
48
|
+
range.
|
|
48
49
|
|
|
49
50
|
**Active Instances.** Distinct active edge instances over time. A rough
|
|
50
51
|
indicator of how widely your traffic is distributed across gateway workers.
|
|
@@ -76,7 +77,7 @@ Clicking any value applies an `equals` filter for that field.
|
|
|
76
77
|
|
|
77
78
|
## Filters
|
|
78
79
|
|
|
79
|
-
The full filter bar applies. `originHost`
|
|
80
|
+
The full filter bar applies. `originHost` doesn't apply in this section. See
|
|
80
81
|
[Shared controls](../shared-controls.md#filters) for match modes and the filter
|
|
81
82
|
pill UI.
|
|
82
83
|
|
|
@@ -8,8 +8,9 @@ using a third-party identity provider.
|
|
|
8
8
|
|
|
9
9
|
<EnterpriseFeature name="Single Sign On" />
|
|
10
10
|
|
|
11
|
-
Zuplo uses Auth0 to manage enterprise SSO, so
|
|
12
|
-
|
|
11
|
+
Zuplo uses Auth0 to manage enterprise SSO, so it can support essentially any
|
|
12
|
+
identity provider. Common options are Microsoft Entra ID, Okta, Google
|
|
13
|
+
Workspace, etc.
|
|
13
14
|
|
|
14
15
|
## Configuring your Identity Provider
|
|
15
16
|
|
|
@@ -85,14 +86,15 @@ role-based access control isn't enabled, new users will be added as an Admin.
|
|
|
85
86
|
|
|
86
87
|
### What SSO Providers does Zuplo Support?
|
|
87
88
|
|
|
88
|
-
Zuplo uses Auth0 to manage enterprise SSO, so
|
|
89
|
-
provider required. Common options are
|
|
89
|
+
Zuplo uses Auth0 to manage enterprise SSO, so it can support essentially any SSO
|
|
90
|
+
provider required. Common options are Microsoft Entra ID, Okta, Google
|
|
91
|
+
Workspace, etc.
|
|
90
92
|
|
|
91
93
|
### What happens when SSO is enabled for my organization?
|
|
92
94
|
|
|
93
95
|
When SSO is enabled, you'll use your organization's identity provider (like Okta
|
|
94
|
-
or
|
|
95
|
-
access management for your team.
|
|
96
|
+
or Microsoft Entra ID) to log into Zuplo. This provides enhanced security and
|
|
97
|
+
streamlines access management for your team.
|
|
96
98
|
|
|
97
99
|
If you previously had a Zuplo account with the same email address, your SSO
|
|
98
100
|
login will be treated as the primary method going forward.
|
|
@@ -27,8 +27,12 @@ When you first open the API Key Bucket, you won't have any API Keys created.
|
|
|
27
27
|
To add a new API Key Consumer click the **Create Consumer** button and complete
|
|
28
28
|
the form.
|
|
29
29
|
|
|
30
|
+
<ModalScreenshot>
|
|
31
|
+
|
|
30
32
|

|
|
31
33
|
|
|
34
|
+
</ModalScreenshot>
|
|
35
|
+
|
|
32
36
|
Once a consumer is created, you can view or copy the API Key by clicking the
|
|
33
37
|
icons shown.
|
|
34
38
|
|
|
@@ -98,8 +98,12 @@ the API Key Bucket you want to use and click **Create Consumer**. Enter a name
|
|
|
98
98
|
for the consumer. Set the metadata to include the `testApiKey` flag as shown
|
|
99
99
|
below.
|
|
100
100
|
|
|
101
|
+
<ModalScreenshot>
|
|
102
|
+
|
|
101
103
|

|
|
102
104
|
|
|
105
|
+
</ModalScreenshot>
|
|
106
|
+
|
|
103
107
|
Now when you call the API with the test API Key, the `monetization-inbound`
|
|
104
108
|
policy will be bypassed.
|
|
105
109
|
|
|
@@ -29,10 +29,14 @@ code, see the
|
|
|
29
29
|
To set environment variables in your project, click **Settings** and then select
|
|
30
30
|
**Environment Variables**.
|
|
31
31
|
|
|
32
|
-
To create a new variable, click **Add
|
|
32
|
+
To create a new variable, click **Add variable**.
|
|
33
|
+
|
|
34
|
+
<ModalScreenshot>
|
|
33
35
|
|
|
34
36
|

|
|
35
37
|
|
|
38
|
+
</ModalScreenshot>
|
|
39
|
+
|
|
36
40
|
Enter the name and value of your environment variable and select if you would
|
|
37
41
|
like the value to be a secret or a regular value.
|
|
38
42
|
|
|
@@ -120,8 +120,8 @@ portal.zuplo.com but you can switch into those environments to perform a number
|
|
|
120
120
|
of functions, such as:
|
|
121
121
|
|
|
122
122
|
- edit API consumers for this environment
|
|
123
|
-
- view analytics for this environment
|
|
124
|
-
|
|
123
|
+
- view logs, traces, and analytics for this environment in the **Observability**
|
|
124
|
+
tab
|
|
125
125
|
|
|
126
126
|
## Different Backends per Environment
|
|
127
127
|
|