---
title: "Get organization settings"
method: GET
path: "/api/v1/org/settings"
tags: ["Organizations"]
---

# Get organization settings

`GET /api/v1/org/settings`

Returns the current organization's settings. Defaults are returned when
no settings have been saved.

## Response `200`

Ok

- ApiOrganizationSettingsResponse
  - `results` OrganizationSettings, required — Per-organization settings migrated from instance-wide env vars. Surfaced in the Pro admin panel and stored in the `organization_settings` table. Starts with the OIDC account-linking toggles; designed to grow as more settings move org-level. Each value is tri-state: `null` means "not set — inherit the instance/env default", while an explicit `true`/`false` overrides the env. The fallback to the env default is resolved in the auth layer, not here.
    - `corsAllowedDomains` string[], nullable, required — Exact origins, wildcard subdomain origins, and regex patterns this org contributes to the instance CORS allow-list. Regex entries use `/.../` syntax.
    - `csvCellsLimit` number, double, nullable, required — Max number of cells (rows × columns) a CSV/Excel export may contain for this org. Inherits `LIGHTDASH_CSV_CELLS_LIMIT` and is capped by `LIGHTDASH_CSV_MAX_LIMIT` (the ceiling); `null` inherits the default. Always resolved to an effective number in API responses.
    - `queryLimit` number, double, nullable, required — Max number of rows a query may return for this org. Inherits and is capped by the instance-wide `LIGHTDASH_QUERY_MAX_LIMIT` (the ceiling); `null` inherits it. Always resolved to an effective number in API responses so the frontend can display it directly.
    - `scheduledDeliveryExpirationSecondsGoogleChat` number, double, nullable, required — Per-channel override (seconds) for Google Chat deliveries; `null` inherits the base. Google Chat has no instance env var, so this is an org-only override (it still falls back to the base / env base).
    - `scheduledDeliveryExpirationSecondsMsTeams` number, double, nullable, required — Per-channel override (seconds) for Microsoft Teams deliveries; `null` inherits the base. Overrides `PERSISTENT_DOWNLOAD_URL_EXPIRATION_SECONDS_MSTEAMS`.
    - `scheduledDeliveryExpirationSecondsSlack` number, double, nullable, required — Per-channel override (seconds) for Slack deliveries; `null` inherits the base. Overrides `PERSISTENT_DOWNLOAD_URL_EXPIRATION_SECONDS_SLACK`.
    - `scheduledDeliveryExpirationSecondsEmail` number, double, nullable, required — Per-channel override (seconds) of {@link scheduledDeliveryExpirationSeconds } for email deliveries; `null` inherits the base. Unlike the base, this is surfaced raw (not resolved) so the UI can distinguish "inherit" from an explicit value. Overrides `PERSISTENT_DOWNLOAD_URL_EXPIRATION_SECONDS_EMAIL`.
    - `scheduledDeliveryExpirationSeconds` number, double, nullable, required — Base lifetime (seconds) of this org's scheduled-delivery download links — the default every channel inherits. Overrides the instance-wide `PERSISTENT_DOWNLOAD_URL_EXPIRATION_SECONDS` env; `null` inherits it. This field is always resolved to an effective number in API responses (it falls back to the env default), so the frontend can display it directly. A value over {@link S3_PRESIGNED_URL_MAX_EXPIRATION_SECONDS} transparently switches that delivery to the persistent-download-URL system (the only way a link can outlive AWS's 7-day presigned ceiling).
    - `semanticLayerPgwireEnabled` boolean, nullable, required — Per-org enablement of the semantic-layer Postgres wire integration (surfaced on the project settings page). Like impersonation this has no instance/env default — it's opt-in only, so `null` (or no stored row) resolves to `false`.
    - `supportImpersonationEnabled` boolean, nullable, required — Per-org consent for the Lightdash support team to impersonate users in the org while helping with a support request. Unlike the OIDC toggles this has no instance/env default — it's opt-in only, so `null` (or no stored row) resolves to `false`.
    - `oidcToEmailLinkingEnabled` boolean, nullable, required — Auto-link an OIDC identity to an existing user matched by verified primary email, regardless of how they signed up (overrides `AUTH_ENABLE_OIDC_TO_EMAIL_LINKING`; `null` inherits it).
    - `oidcLinkingEnabled` boolean, nullable, required — Auto-link a new OIDC identity to an existing user who already has a different OIDC identity with the same email (overrides `AUTH_ENABLE_OIDC_LINKING`; `null` inherits it).
  - `status` 'ok', required

## Other responses

- `default` — Error

---

[API](https://skmtc.net/lightdash/apis/lightdash-api.md) · [All operations](https://skmtc.net/lightdash/apis/lightdash-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/lightdash/lightdash-api/versions/40c933755c9a/schema)
