Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions docs/api/api-reference.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,10 @@ Use this page to find the Permit.io Cloud API reference and the facts every call
| Item | Value |
| --- | --- |
| Base URL | `https://api.permit.io` (all paths start with `/v2`) |
| EU region base URL | `https://api.eu.permit.io`, for workspaces hosted in the EU region |
| Authentication | `Authorization: Bearer <YOUR_API_KEY>` header on every request |
| Request and response format | JSON |

Get an API key from the Permit dashboard. See [Get your API key](/overview/get-api-key). For curl, Postman, and SDK examples, see [Calling the API](/api/api-with-cli).
Get an API key from the Permit dashboard. See [Get your API key](/overview/get-api-key). For curl and Postman examples, see [Calling the API](/api/api-with-cli).

## Interactive API reference

Expand Down Expand Up @@ -44,6 +43,6 @@ Permit API objects nest in this order: a workspace (your organization) contains

## Related pages

- [Calling the API](/api/api-with-cli): API keys, rate limiting, regions, and curl and Postman examples
- [Calling the API](/api/api-with-cli): API keys, rate limiting, the API endpoint, and curl and Postman examples
- [PDP API reference](/api/pdp-api-reference): the API of the policy decision point (PDP)
- [Background APIs](/api/background-tasks): endpoints that run as background tasks
31 changes: 9 additions & 22 deletions docs/api/api-with-cli.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
sidebar_position: 3
title: Call the Permit API
sidebar_label: Calling the API
description: "Get an API key and call the Permit.io REST API with curl, Postman, or an SDK, with the regional endpoints and how to handle a rate-limited request."
description: "Get an API key and call the Permit.io REST API with curl or Postman, with the API endpoint and how to handle a rate-limited request."
---

Call the Permit.io REST API directly from curl, Postman, or any HTTP client. This page is for developers who automate Permit, for example to sync users or tenants from a script. Every action in the Permit dashboard calls the same API, so anything you do in the dashboard you can also do through the API.
Expand Down Expand Up @@ -95,30 +95,17 @@ The tenants endpoint returns a plain JSON array of tenant objects. To get the pa

To import every Permit endpoint into Postman at once, import the [OpenAPI spec](https://api.permit.io/v2/openapi.json).

## API endpoints and regions \{#api-endpoints-and-regions}
## API endpoint \{#api-endpoints-and-regions}

The examples in the Permit docs use the `api.permit.io` endpoint. If your workspace is hosted in the EU region, replace `api.permit.io` with `api.eu.permit.io` in every API call. Which regions you can choose depends on your plan; see [Permit pricing](https://www.permit.io/pricing).
Every workspace in Permit's cloud uses the `https://api.permit.io` endpoint, which is the one the examples in the Permit docs use.

### Set the region in the Node.js SDK \{#permit-init-example-on-node-sdk}
Permit retired its EU region in September 2026. The EU hosts no longer resolve, so a request from your code, SDK client, PDP, or identity provider to an EU host fails. Replace each EU host with its US counterpart:

In the SDKs, set the API URL when you create the Permit client. In the Node.js SDK, set `apiUrl`:

```js
const { Permit } = require("permitio");

const permit = new Permit({
// the API key to the Permit environment you wish to connect to
token: "<YOUR_API_KEY>",
// the url in which the SDK can connect to the PDP container
pdp: "http://localhost:7766",
// use this to turn on sdk logs
log: {
level: "debug",
},
// the region in which the Permit environment is located
apiUrl: "https://api.eu.permit.io",
});
```
| Retired EU host | Replace with | Where it is set |
| ------------------------------------------------ | ------------------------ | -------------------------------------------------------------------------------------------------------------------- |
| `api.eu.permit.io`, `api.eu-central-1.permit.io` | `api.permit.io` | The API URL of the SDK client, for example `apiUrl` in the Node.js and .NET SDKs, and `PDP_CONTROL_PLANE` on the PDP |
| `cloudpdp.api.eu-central-1.permit.io` | `cloudpdp.api.permit.io` | The PDP URL of the SDK client (`pdp`) |
| `scim.eu-central-1.permit.io` | `scim.permit.io` | The SCIM base URL in your identity provider, such as Okta or Entra ID |

## Handle an HTTP 429 response \{#rate-limiting}

Expand Down
4 changes: 2 additions & 2 deletions docs/getting-started/_quickstart-parts/_quickstart_dotnet.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,8 @@ mkdir hello-permissions-dotnet && cd hello-permissions-dotnet && dotnet new cons
label: "Permitio-sdk",
// should log as JSON
logAsJson: false,
// the URL of the API (relevant for EU customers)
apiUrl: "https://api.eu-central-1.permit.io",
// the URL of the Permit API
apiUrl: "https://api.permit.io",
// should raise errors (instead of the default behavior of returning false for network errors in permit checks)
raiseErrors: false,
// Optional: manual set the environment_id and project_id for the SDK client (to avoid `scope` api call)
Expand Down
2 changes: 1 addition & 1 deletion docs/how-to/permit-cli/permit-cli-pdp.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ The commands send requests to different PDPs when you don't pass a URL:

| Command | Flag for the PDP URL | Default |
|---|---|---|
| `permit pdp check` | `--pdpurl` | The Cloud PDP of your region: `https://cloudpdp.api.permit.io`, or `https://cloudpdp.api.eu-central-1.permit.io` for `eu` |
| `permit pdp check` | `--pdpurl` | The Cloud PDP: `https://cloudpdp.api.permit.io` |
| `permit pdp check-url` | `--pdp-url` | `http://localhost:7766` |

`permit pdp run` publishes the PDP on port `7766` of your machine. To check a permission against that container, pass `--pdpurl http://localhost:7766` to `permit pdp check`.
Expand Down
2 changes: 1 addition & 1 deletion docs/how-to/permit-cli/permit-cli.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ Most commands call the Permit API, so they need your credentials. Run `permit lo
|---|---|---|
| `--api-key <string>` | `-k` | Sign in with a Permit API key instead of the browser. |
| `--workspace <string>` | | The workspace key to use, which skips the workspace selection step. |
| `--region <string>` | `-r` | The Permit region: `us` or `eu`. Defaults to `us`. |
| `--region <string>` | `-r` | The Permit region. The only supported value is `us`, which is also the default. The EU region (`eu`) was retired. |

```bash
$ permit login
Expand Down
2 changes: 1 addition & 1 deletion docs/integrations/SCIM/EntraID.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ Provision users from Microsoft Entra ID (formerly Azure Active Directory) into y

| Field | Value |
|---|---|
| **Tenant URL** | `https://scim.permit.io/scim/v2/{permit_project_id}/{permit_env_id}`. For EU users, `https://scim.eu-central-1.permit.io/scim/v2/{permit_project_id}/{permit_env_id}`. |
| **Tenant URL** | `https://scim.permit.io/scim/v2/{permit_project_id}/{permit_env_id}`. |
| **Secret Token** | Your environment API key |

Replace `{permit_project_id}` and `{permit_env_id}` with your Permit project ID or key and environment ID or key. The **Tenant URL** field is an Entra ID label. To assign roles in a specific Permit tenant, use the tenant-aware base URL described in [Permit SCIM base URLs](/integrations/SCIM/SCIM_overview#multi-tenant-scim).
Expand Down
2 changes: 1 addition & 1 deletion docs/integrations/SCIM/OKTA.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ Provision users from Okta into your Permit.io environment with System for Cross-
4. **Connect Okta to the Permit SCIM API.**
- Go to the **Provisioning** tab and click **Configure API Integration**.
- Check **Enable API integration**.
- In **Base URL**, enter `https://scim.permit.io/scim/v2/{permit_project_id}/{permit_env_id}`. For EU users, enter `https://scim.eu-central-1.permit.io/scim/v2/{permit_project_id}/{permit_env_id}`. Replace `{permit_project_id}` and `{permit_env_id}` with your Permit project ID or key and environment ID or key. To assign roles in a specific Permit tenant, use the tenant-aware base URL described in [Permit SCIM base URLs](/integrations/SCIM/SCIM_overview#multi-tenant-scim).
- In **Base URL**, enter `https://scim.permit.io/scim/v2/{permit_project_id}/{permit_env_id}`. Replace `{permit_project_id}` and `{permit_env_id}` with your Permit project ID or key and environment ID or key. To assign roles in a specific Permit tenant, use the tenant-aware base URL described in [Permit SCIM base URLs](/integrations/SCIM/SCIM_overview#multi-tenant-scim).
- In **API Token**, enter your environment API key.
- Click **Test API Credentials**. Okta shows a success message when it can reach Permit with the API key.
- Click **Save**.
Expand Down
2 changes: 0 additions & 2 deletions docs/integrations/SCIM/SCIM_overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -61,8 +61,6 @@ Replace the placeholders as follows:
| `{permit_env_id}` | Your Permit environment ID or key. See [Get the environment ID](/manage-your-account/projects-and-env#getting-the-environment-id). |
| `{tenant_key}` | The key of the target Permit tenant. The SCIM server accepts `[A-Za-z0-9_-]{1,64}`: 1 to 64 alphanumerics, underscores, or hyphens. Another value returns HTTP `404` at the routing layer, before any handler runs. |

EU users replace the `scim.permit.io` host with `scim.eu-central-1.permit.io` in either shape, for example `https://scim.eu-central-1.permit.io/scim/v2/{permit_project_id}/{permit_env_id}/v2/{tenant_key}`.

:::note The second /v2/ segment is a routing prefix
The second `/v2/` segment in the tenant-aware URL selects the multi-tenant SCIM API. It is not a SCIM protocol version. The SCIM 2.0 protocol version is the earlier `/scim/v2/` segment.
:::
Expand Down
2 changes: 1 addition & 1 deletion docs/modeling/google-drive.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -1838,7 +1838,7 @@ Check what John and Jane can do on `file:2023_report`.

The PDP is a container that fetches the policy and data from the Permit control plane and answers permission checks locally. Run it with your environment API key. For other ways to run a PDP, see [Run the PDP](/overview/run-pdp).

The PDP connects to `https://api.permit.io` by default. If your workspace is hosted in the EU region, set `PDP_CONTROL_PLANE=https://api.eu.permit.io`. See [PDP configuration](/concepts/pdp/configuration).
The PDP connects to `https://api.permit.io` by default. See [PDP configuration](/concepts/pdp/configuration).

```bash
docker run -it \
Expand Down
4 changes: 2 additions & 2 deletions docs/status.mdx
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
---
sidebar_position: 21
title: Permit Uptime Status
description: "Check the live status, uptime, and incident notices of Permit.io services, including the backend, OPAL, frontend, and PDP data services, in the US East and Europe regions."
description: "Check the live status, uptime, and incident notices of Permit.io services, including the backend, OPAL, frontend, and PDP data services."
sidebar_custom_props: { icon: planet-line}
---

Check whether a Permit.io service is operational before you debug an outage in your own stack. The [Permit.io status page](https://permit-io.instatus.com/) shows the live state, the 90-day uptime, and recent incident notices for each Permit service. The embedded status page is in the [Live status](#live-status) section.

## Services on the status page

The status page lists these Permit services. Each service except Marketing Website reports the US East and Europe regions separately. The live status page is the authoritative list.
The status page lists these Permit services. The live status page is the authoritative list.

- Permit.io Backend
- Permit.io OPAL (Open Policy Administration Layer)
Expand Down
Loading