> ## Documentation Index
> Fetch the complete documentation index at: https://docs.openhands.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Org App Settings

> Get organization app settings for the user's current organization.

This endpoint retrieves application settings for the authenticated user's
current organization. Access requires the MANAGE_APPLICATION_SETTINGS permission,
which is granted to all organization members (member, admin, and owner roles).

Args:
    service: OrgAppSettingsService (injected by dependency)

Returns:
    OrgAppSettingsResponse: The organization app settings

Raises:
    HTTPException: 401 if user is not authenticated
    HTTPException: 403 if user lacks MANAGE_APPLICATION_SETTINGS permission
    HTTPException: 404 if current organization not found



## OpenAPI

````yaml /openapi/openhands-cloud.json get /api/organizations/app
openapi: 3.1.0
info:
  title: OpenHands
  description: 'OpenHands: Code Less, Make More'
  version: 0.0.1
servers: []
security: []
paths:
  /api/organizations/app:
    get:
      tags:
        - Orgs
      summary: Get Org App Settings
      description: >-
        Get organization app settings for the user's current organization.


        This endpoint retrieves application settings for the authenticated
        user's

        current organization. Access requires the MANAGE_APPLICATION_SETTINGS
        permission,

        which is granted to all organization members (member, admin, and owner
        roles).


        Args:
            service: OrgAppSettingsService (injected by dependency)

        Returns:
            OrgAppSettingsResponse: The organization app settings

        Raises:
            HTTPException: 401 if user is not authenticated
            HTTPException: 403 if user lacks MANAGE_APPLICATION_SETTINGS permission
            HTTPException: 404 if current organization not found
      operationId: get_org_app_settings_api_organizations_app_get
      parameters:
        - name: org_id
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: uuid
              - type: 'null'
            title: Org Id
        - name: X-Org-Id
          in: header
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: X-Org-Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrgAppSettingsResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - APIKeyHeader: []
components:
  schemas:
    OrgAppSettingsResponse:
      properties:
        enable_proactive_conversation_starters:
          type: boolean
          title: Enable Proactive Conversation Starters
          default: true
        max_budget_per_task:
          anyOf:
            - type: number
            - type: 'null'
          title: Max Budget Per Task
        registered_marketplaces:
          items:
            $ref: >-
              #/components/schemas/openhands__app_server__settings__settings_models__MarketplaceRegistration
          type: array
          title: Registered Marketplaces
        updated_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Updated At
      type: object
      title: OrgAppSettingsResponse
      description: Response model for organization app settings.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    openhands__app_server__settings__settings_models__MarketplaceRegistration:
      properties:
        name:
          type: string
          title: Name
          description: Identifier for this marketplace registration
        source:
          type: string
          title: Source
          description: 'Marketplace source: ''github:owner/repo'', git URL, or local path'
        ref:
          anyOf:
            - type: string
            - type: 'null'
          title: Ref
          description: Optional branch, tag, or commit (only for git sources)
        repo_path:
          anyOf:
            - type: string
            - type: 'null'
          title: Repo Path
          description: >-
            Subdirectory path within the git repository containing the
            marketplace (e.g., 'marketplaces/internal' for monorepos). Only
            relevant for git sources, not local paths.
        auto_load:
          type: boolean
          title: Auto Load
          description: >-
            Auto-load behavior for this marketplace. True = load all plugins at
            conversation start. False = registered for resolution but not
            auto-loaded.
          default: false
        scope:
          anyOf:
            - $ref: '#/components/schemas/MarketplaceScope'
            - type: 'null'
          description: >-
            Scope of this marketplace registration. Set automatically by backend
            based on storage layer: "instance" for system defaults, "org" for
            organization-level, "personal" for user-level. Frontend should NOT
            send this field in save requests.
      type: object
      required:
        - name
        - source
      title: MarketplaceRegistration
      description: >-
        Registration for a plugin marketplace.


        Represents a marketplace that can be registered for plugin resolution.

        Marketplaces can be auto-loaded (plugins loaded at conversation start)

        or registered only (available for explicit plugin references).


        Wire-compatible with
        ``openhands.sdk.marketplace.MarketplaceRegistration``

        (the model the agent-server ``/api/skills`` endpoint consumes): dumping
        this

        model with ``exclude={'scope'}`` yields exactly the SDK model's fields

        (``name``/``source``/``ref``/``repo_path``/``auto_load``), and our
        ``bool``

        ``auto_load`` and stricter field validators are a subset of what the SDK

        accepts, so any value we produce validates upstream.


        This is intentionally kept as a separate model rather than importing the
        SDK

        one, because it carries a backend-only ``scope`` (set per storage layer
        for

        API responses/UI, stripped at the wire boundary and re-derived during

        composition) and enforces input validation the SDK model does not
        (source /

        ``repo_path`` traversal guards, name format).


        Examples:
            >>> # Auto-load all plugins from a marketplace
            >>> MarketplaceRegistration(
            ...     name="public",
            ...     source="github:OpenHands/skills",
            ...     auto_load=True
            ... )

            >>> # Register marketplace without auto-loading
            >>> MarketplaceRegistration(
            ...     name="experimental",
            ...     source="github:acme/experimental"
            ... )

            >>> # Marketplace in monorepo subdirectory
            >>> MarketplaceRegistration(
            ...     name="team",
            ...     source="github:acme/monorepo",
            ...     repo_path="marketplaces/internal",
            ...     auto_load=True
            ... )
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    MarketplaceScope:
      type: string
      enum:
        - instance
        - org
        - personal
      title: MarketplaceScope
      description: Scope of a marketplace registration.
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      in: header
      name: X-Access-Token

````