---
title: "Get organization settings"
method: GET
path: "/api/{org_id}/settings"
tags: ["Organizations"]
---

# Get organization settings

`GET /api/{org_id}/settings`

## Request

- Base URL: `https://api.openobserve.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.openobserve.ai/api/{org_id}/settings`
- Auth: API key in header `Authorization`
- TypeScript: <https://skmtc.dev/openobserve/apis/openobserve-api-http/docs/api/:org_id/settings/get.ts> (a function with typed inputs; its response is checked against the schema)

Retrieves the current configuration settings for an organization, including scrape intervals, field mappings, ingestion preferences, and streaming options. Returns default settings if none have been configured previously for the organization.

## Path parameters

- `org_id` string, required

## Response `200`

Success

- OrganizationSettingResponse
  - `data` OrganizationSetting, required
    - `ai_rca_thread_tool_output` boolean: Show raw tool input and output in incident investigation threads.
    - `budget_config` BudgetNotificationConfiguration[]
      - `org_id` string, required
      - `paused` boolean, required
      - `total_budget_amount` number, double, required
      - `warn_at_amount` number, double, required
    - `claim_parser_function` string
    - `cross_links` CrossLink[]
      - `fields` CrossLinkField[]: Show link only when at least one field matches the record. If empty, the link is always shown.
        - `alias` string, nullable: Populated by result_schema: the alias used in the query for this field.
        - `name` string, required
      - `name` string, required: Display name for the link
      - `url` string, required: URL template with {field_name} placeholders
    - `dark_mode_theme_color` string, nullable
    - `data_retention` DataRetentionDefaults: Default retention days of a scope; 0 inherits the next level.
      - `default` integer
      - `logs` integer
      - `metrics` integer
      - `profiles` integer
      - `traces` integer
    - `domain_management_config` DomainManagementConfig: Domain management configuration for SSO login restrictions
      - `blocked_domains` string[]: Whole-domain blocks — every `is_external` email ending in `@domain` is denied.
      - `blocked_emails` string[]: Exact emails (external SSO users OR SSO/token service accounts) blocked from all access. Evaluated BEFORE any allow rule — block wins over allow. Stored flat (not nested under a domain) so a block can target an email whose domain is not allow-listed, or block one user inside an otherwise `allow_all_users` domain.
      - `domains` DomainConfig[], required: List of allowed domains with their specific configurations
        - `allow_all_users` boolean: Whether all users from this domain are allowed MUTUALLY EXCLUSIVE with allowed_emails - when true, allowed_emails must be empty
        - `allowed_emails` string[]: List of specific email addresses allowed from this domain MUTUALLY EXCLUSIVE with allow_all_users - when not empty, allow_all_users must be false
        - `created_at` integer: Timestamp when this domain was added
        - `domain` string, required: Domain name (e.g., "example.com")
        - `enabled` boolean: Whether this domain configuration is active
        - `updated_at` integer: Timestamp when this domain was last updated
      - `enabled` boolean, required: Whether domain restrictions are enabled
      - `updated_at` integer, required: Timestamp when this configuration was last updated
    - `domain_org_mappings` DomainOrgMapping[]
      - `base_role` string, required
      - `create_missing_roles` boolean
      - `domain` string, required
      - `org_id` string, required
      - `role_claim_name` string, nullable
    - `enable_streaming_search` boolean
    - `enforce_allowed_orgs_only` boolean
    - `free_trial_expiry` integer, nullable
    - `light_mode_theme_color` string, nullable
    - `max_series_per_query` integer, nullable
    - `min_auto_refresh_interval` integer
    - `org_storage_enabled` boolean
    - `red_insights_enabled` boolean
    - `scrape_interval` integer: Ideally this should be the same as prometheus-scrape-interval (in seconds).
    - `span_id_field_name` string
    - `streaming_aggregation_enabled` boolean
    - `toggle_ingestion_logs` boolean
    - `trace_id_field_name` string
    - `usage_stream_enabled` boolean
  - `resolved_data_retention` DataRetentionDefaults, required: Default retention days of a scope; 0 inherits the next level.
    - `default` integer
    - `logs` integer
    - `metrics` integer
    - `profiles` integer
    - `traces` integer

## Other responses

- `400`: Failure

---

[API](https://skmtc.dev/openobserve/apis/openobserve-api-http.md) - [All operations](https://skmtc.dev/openobserve/apis/openobserve-api-http/llms.txt) - [OpenAPI document](https://skmtc.dev/openobserve/apis/openobserve-api-http/revisions/0529b8a10252?raw)
