Skip to content

Commit ff5baf2

Browse files
committed
Merge branch 'main' into docs/usehall-integration
2 parents 21b7457 + fc89e64 commit ff5baf2

File tree

8 files changed

+430
-79
lines changed

8 files changed

+430
-79
lines changed
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
---
2+
page_id: d8bf80b5-d1b1-4662-a4d1-76cf4024e01a
3+
title: Static IP
4+
sidebar:
5+
order: 8
6+
relatedArticles:
7+
- c53c9254-7bbb-4d58-b949-3ccdc3cd3dee
8+
description: Guide to using a static IP address for your Kinde business.
9+
metadata:
10+
topics: [authenticate]
11+
sdk: []
12+
languages: []
13+
audience: [developer, enterprise-admin]
14+
complexity: advanced
15+
keywords: [static-ip, infrastructure, whitelist]
16+
updated: 2025-08-06
17+
featured: false
18+
deprecated: false
19+
---
20+
21+
<Aside type="upgrade">
22+
23+
Only businesses on the [Kinde Enterprise plan](https://kinde.com/pricing/) can enable a static IP address for their Kinde business. Additional fees apply.
24+
25+
</Aside>
26+
27+
For companies who work in highly regulated industries such as government, financial services, or education, it is a common requirement to maintain strict 'whitelists' for accessing the internet. For customers with these requirements, Kinde can provide static IP addresses.
28+
29+
## Dynamic IPs are used by default
30+
31+
Kinde uses AWS public cloud to host our services. We make use of AWS's highly scalable infrastructure to ensure the best availability and performance. This infrastructure design means that your Kinde business is assigned a DNS address created during onboarding, which will have a dynamic IP address managed by AWS. You then whitelist the Kinde business domain or your custom domain, to ensure that your customers can access authentication to your product.
32+
33+
## Request a static IP address
34+
35+
For Kinde enterprise customers who have strict IP-based whitelists, Kinde can provide a pair of static IP addresses. We use AWS's Global Accellerator to provision 2 IP addresses assigned to your Kinde business and custom domain, which will ensure that the IP addresses are always the same.
36+
37+
Please reach out to our team at [email protected] to discuss your requirements.

src/content/docs/billing/about-billing/billing-concepts-terms.mdx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,11 @@ deprecated: false
2121

2222
'Billing' refers to the broad function of creating plans, setting pricing, collecting payments, etc. Here are some of the common concepts and terms you will come across.
2323

24+
## Billing identifiers
25+
26+
- **Customer ID** - A `customer_id` uniquely identifies a user or org who has signed up to a plan. This is different to a `user_id` or `org_id` that identifies the user or org as an entity.
27+
- **Customer Agreement ID** - A `customer_agreement_id` identifies the contract or agreement created in Stripe when a plan is signed up to. The agreement ID is then associated with the `customer_id` in Kinde.
28+
2429
## Key concepts
2530

2631
- **Plan groups** - Plan groups organize multiple plans under a common category, helping segment offerings by use case, customer size, or market. A group is scoped to either organizations (B2B) or individual customers (B2C). You can have multiple plan groups, but each plan must belong to a group.

src/content/docs/billing/manage-subscribers/add-metered-usage.mdx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ Adding usage values requires two key pieces of information:
3131

3232
- Via the Kinde UI - Open the user or organization record in Kinde and select **Billing** in the menu. The customer agreement shows as part of the subscription details.
3333

34+
![Example of agreement ID in Kinde](https://imagedelivery.net/skPPZTHzSlcslvHjesZQcQ/6488a69d-a47d-413b-a3b3-47a39398b600/public)
35+
3436
## Get the feature ID
3537

3638
1. Open the plan the feature belongs to.

src/content/docs/build/set-up-options/self-serve-portal-for-orgs.mdx

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,11 @@ A self-serve portal means your customers can make basic account changes without
3737
## Configure the organization self-serve portal
3838

3939
1. Go to **Settings > Environment > Self-serve portal**.
40+
![Settings for self-serve portal for orgs](https://imagedelivery.net/skPPZTHzSlcslvHjesZQcQ/81169031-611b-402a-20f7-47c84f53b600/public)
4041
2. Enter the **Return URL** that you want users to land on when they exit the portal, e.g. your app dashboard.
4142
3. Add an **Organization alias** to represent how your customers are referred to in your business, e.g. Account, Partner, Workspace, etc. This will be visible in the interface in the portal.
4243
4. In the **Organization profile** section, select the functions you want organization admins to be able to manage.
44+
![Options for showing hiding settings for org members](https://imagedelivery.net/skPPZTHzSlcslvHjesZQcQ/13cf1ec6-bbe1-4059-4c78-b97d94b2b200/public)
4345
5. Select **Save**.
4446

4547
## Portal access control with system permissions
@@ -48,7 +50,9 @@ Each core function within the self-serve portal is governed by a corresponding s
4850

4951
These permissions can be included in your custom roles and assigned to organization members.
5052

51-
We recommend creating custom roles with varying levels of portal access, which you can then assign as needed. For instance, you might create a role that allows members to view billing details but not update them.
53+
We recommend creating custom roles with varying levels of portal access, which you can then assign as needed. For instance, you might create a role that allows members to view billing details but not update them. You can select these permissions within your existing roles, or when you create them.
54+
55+
![Roles with system permissions for self-serve portal](https://imagedelivery.net/skPPZTHzSlcslvHjesZQcQ/1e90e72e-00d5-4063-8d34-79d1a9b8f000/public)
5256

5357
When [configuring org roles](/billing/get-started/add-billing-role/), you can specify whether it should be:
5458

@@ -57,7 +61,9 @@ When [configuring org roles](/billing/get-started/add-billing-role/), you can sp
5761

5862
## Generate the self-serve portal link
5963

60-
Access to the portal is granted via a one-time link. There are two main ways to generate this link:
64+
Access to the portal is granted via a one-time link. You then use the link on an 'account' or 'profile' button in your app to open the Kinde portal screens.
65+
66+
There are two main ways to generate this link:
6167

6268
- **Using the user's access token** (recommended)
6369
- **Using the Kinde Management API**
@@ -113,3 +119,9 @@ Make a request to the `POST /api/v1/portal/generate_url` endpoint using an M2M t
113119
```
114120

115121
This will return a one-time portal link for the specified user.
122+
123+
## How the self-serve portal looks
124+
125+
When the user clicks the link you've added to your app, the portal opens. The default design is shown below, and we are working on allowing you to style this yourself. The options a member sees depends on their role and what you have chosen to display.
126+
127+
![Self-serve portal in Kinde](https://imagedelivery.net/skPPZTHzSlcslvHjesZQcQ/fb38548b-e530-4dfa-68b3-29ef2f287700/public)

src/content/docs/build/set-up-options/self-serve-portal-for-users.mdx

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,10 @@ A self-serve portal means your customers can make basic account changes without
3838
## Configure the user self-serve portal
3939

4040
1. Go to **Settings > Environment > Self-serve portal**.
41+
![Settings for self-serve portal set up in Kinde](https://imagedelivery.net/skPPZTHzSlcslvHjesZQcQ/81169031-611b-402a-20f7-47c84f53b600/public)
4142
2. Enter the **Return URL** that you want users to land on when they exit the portal, e.g. your app dashboard. This can also be used as a fallback URL if you decide to use the SDK method of dynamically generting the URL (see below).
4243
3. In the **User profile** section, select the functions you want the user to be able to manage. If you select **Billing**, they can manage their plan as well as payment methods.
44+
![Self-serve portal settings for users](https://imagedelivery.net/skPPZTHzSlcslvHjesZQcQ/f821e9c5-497d-41f0-b373-2755320d1c00/public)
4345
4. Select **Save**.
4446

4547
## Generate the self-serve portal link
@@ -98,3 +100,13 @@ Make a request to the `POST /api/v1/portal/generate_url` endpoint using an M2M t
98100
```
99101

100102
This will return a one-time portal link for the specified user.
103+
104+
## How the self-serve portal looks
105+
106+
When the user clicks the link you've added to your app, the portal opens. The default design is shown below, and we are working on allowing you to style this yourself. The options a member sees depends on their role and what you have chosen to display.
107+
108+
![Self-serve portal in Kinde](https://imagedelivery.net/skPPZTHzSlcslvHjesZQcQ/4b3574c5-a499-4da5-e8d0-467d56255e00/public)
109+
110+
You can also watch this short video showing how the portal works when a customer signs up for a plan using Kinde billing.
111+
112+
<YoutubeVideo videoId="xxVwZW8OxIA" videoTitle="The customer billing experience with Kinde"/>

src/content/docs/design/customize-with-code/understand-page-design.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,7 @@ Shown after primary authentication when MFA is required or being set up.
265265
- `(mfa_use_recovery_code)` – Enter a recovery code if unable to use other MFA methods.
266266
- `(mfa_view_recovery_codes)` – View and save MFA recovery codes.
267267

268-
### Billing (coming soon)
268+
### Billing
269269

270270
Pages related to choosing a plan and making a payment.
271271

@@ -339,4 +339,4 @@ export const pageSettings = {
339339
};
340340
```
341341

342-
This allows you to have fine grained control over what your pages can access.
342+
This allows you to have fine grained control over what your pages can access.

src/content/docs/developer-tools/guides/deploy-on-vercel.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ If you don’t have an existing project, create a project with a starter kit fro
9999
- KINDE_CLIENT_ID
100100
- KINDE_CLIENT_SECRET
101101
- KINDE_ISSUER_URL (Domain in Kinde)
102-
6. Change the variables as follows, using Vercel values:
102+
6. Change the variables as follows, using Vercel values (e.g. `https://vercel-nextjs-kinde.vercel.app`):
103103
- KINDE_SITE_URL
104104
- KINDE_POST_LOGOUT_REDIRECT_URL
105105
- KINDE_POST_LOGIN_REDIRECT_URL

0 commit comments

Comments
 (0)