---
title: "Get Workos Portal Link"
method: POST
path: "/api/org/{org_id}/workos-portal-link"
tags: ["org"]
---

# Get Workos Portal Link

`POST /api/org/{org_id}/workos-portal-link`

Self-service WorkOS Admin Portal link for the org's owner or admin.

The ``intent`` selects which Admin Portal section the customer lands on
(``sso``, ``dsync``, ``domain_verification``, ``audit_logs``). The
WorkOS portal does not expose cross-intent navigation, so each section
needs a separately generated link.

On first call for an unlinked org, this creates a WorkOS Organization
named after the local org and links it. Subsequent calls just return
fresh portal links — same shape as ``POST /api/stripe/portal-session``.
Links expire in ~5 minutes; the frontend redirects immediately.

## Path parameters

- `org_id` integer, required

## Request body

- WorkosPortalLinkRequest
  - `intent` string

## Response `200`

Successful Response

- WorkosPortalLinkResponse
  - `portal_link` string, required
  - `workos_organization_id` string, required

## Other responses

- `422` — Validation Error

## Changes

- **2026-09-18** `abf76937a751` — 2 info
  - added the optional property `detail/items/ctx` to the response with the `422` status
  - added the optional property `detail/items/input` to the response with the `422` status

[Change history](https://skmtc.dev/quadrillion/apis/quadrillion-cloud-api/changes/api/org/:org_id/workos-portal-link/post.md)

---

[API](https://skmtc.dev/quadrillion/apis/quadrillion-cloud-api.md) · [All operations](https://skmtc.dev/quadrillion/apis/quadrillion-cloud-api/llms.txt) · [OpenAPI document](https://skmtc.dev/quadrillion/apis/quadrillion-cloud-api/revisions/24240445b715?raw)
