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

# Update organization

> Updates organization fields that workspace owners are allowed to change, including the display name, allowed invitation email domains, and desktop app restrictions. The slug is immutable to avoid breaking dashboard URLs.



## OpenAPI

````yaml /openapi.json patch /v1/org
openapi: 3.1.0
info:
  title: Den API
  description: >-
    OpenAPI spec for the Den control plane API.


    Authentication:

    - Use `Authorization: Bearer <session-token>` for user-authenticated routes
    that require a Den session.

    - Use `x-api-key: <den-api-key>` for API-key-authenticated routes that
    accept organization API keys.

    - Public routes like health and documentation do not require authentication.


    Swagger tip: use the security schemes in the Authorize dialog to set either
    `bearerAuth` or `denApiKey` before trying protected endpoints.
  version: dev
servers:
  - url: https://api.openworklabs.com
security: []
tags:
  - name: System
    description: Service health and operational routes.
  - name: Organizations
    description: Top-level organization creation and context routes.
  - name: Invitations
    description: Invitation preview, acceptance, creation, and cancellation routes.
  - name: API Keys
    description: Organization API key management routes.
  - name: Members
    description: Organization member management routes.
  - name: Roles
    description: Organization custom role management routes.
  - name: Teams
    description: Organization team management routes.
  - name: Templates
    description: Organization shared template routes.
  - name: LLM Providers
    description: Organization LLM provider catalog, configuration, and access routes.
  - name: Skills
    description: Organization skill authoring and sharing routes.
  - name: Skill Hubs
    description: Organization skill hub management and access routes.
  - name: Workers
    description: Worker lifecycle, billing, and runtime routes.
  - name: Worker Runtime
    description: Worker runtime inspection and upgrade routes.
  - name: Worker Activity
    description: Worker heartbeat and activity reporting routes.
  - name: Admin
    description: Administrative reporting routes.
  - name: Users
    description: Current user and membership routes.
paths:
  /v1/org:
    patch:
      tags:
        - Organizations
      summary: Update organization
      description: >-
        Updates organization fields that workspace owners are allowed to change,
        including the display name, allowed invitation email domains, and
        desktop app restrictions. The slug is immutable to avoid breaking
        dashboard URLs.
      operationId: patchV1Org
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  minLength: 2
                  maxLength: 120
                allowedEmailDomains:
                  anyOf:
                    - maxItems: 100
                      type: array
                      items:
                        type: string
                        minLength: 1
                        maxLength: 255
                    - type: 'null'
                desktopAppRestrictions:
                  $ref: '#/components/schemas/DenDesktopAppRestrictions'
                allowedDesktopVersions:
                  anyOf:
                    - maxItems: 200
                      type: array
                      items:
                        type: string
                        minLength: 1
                        maxLength: 32
                    - type: 'null'
      responses:
        '200':
          description: Organization updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrganizationResponse'
        '400':
          description: >-
            The organization update request body was invalid or contained
            malformed email domains.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidEmailDomainError'
        '401':
          description: The caller must be signed in to update an organization.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
        '403':
          description: Only workspace owners can update the organization.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
        '404':
          description: The organization could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
components:
  schemas:
    DenDesktopAppRestrictions:
      type: object
      properties:
        disallowNonCloudModels:
          type: boolean
        blockZenModel:
          type: boolean
        blockMultipleWorkspaces:
          type: boolean
    OrganizationResponse:
      type: object
      properties:
        organization:
          anyOf:
            - type: object
              properties: {}
              additionalProperties: {}
            - type: 'null'
      required:
        - organization
    InvalidEmailDomainError:
      type: object
      properties:
        error:
          type: string
          const: invalid_email_domain
        message:
          type: string
        invalidDomains:
          type: array
          items:
            type: string
      required:
        - error
        - message
        - invalidDomains
    UnauthorizedError:
      type: object
      properties:
        error:
          type: string
          const: unauthorized
      required:
        - error
    ForbiddenError:
      type: object
      properties:
        error:
          type: string
          const: forbidden
        message:
          type: string
      required:
        - error
    NotFoundError:
      type: object
      properties:
        error:
          type: string
        message:
          type: string
      required:
        - error

````