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

# Update organization (owner/admin only)



## OpenAPI

````yaml https://api.crosmos.dev/openapi.json patch /api/v1/orgs/{org_uuid}
openapi: 3.1.0
info:
  title: Crosmos API
  version: 0.1.0
servers:
  - url: /
security: []
paths:
  /api/v1/orgs/{org_uuid}:
    patch:
      tags:
        - organizations
      summary: Update organization (owner/admin only)
      parameters:
        - schema:
            type: string
            format: uuid
          required: true
          name: org_uuid
          in: path
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateOrganizationRequest'
      responses:
        '200':
          description: Updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Organization'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrgErrorBody'
        '403':
          description: Insufficient role
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrgErrorBody'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrgErrorBody'
        '409':
          description: Slug already taken
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrgSlugConflictBody'
      security:
        - bearerAuth: []
components:
  schemas:
    UpdateOrganizationRequest:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 255
        slug:
          type: string
          minLength: 1
          maxLength: 64
          pattern: ^[a-z0-9][a-z0-9-]*[a-z0-9]$
        billing_email:
          type: string
          nullable: true
          format: email
    Organization:
      type: object
      properties:
        id:
          type: string
          format: uuid
        slug:
          type: string
        name:
          type: string
        plan:
          type: string
          enum:
            - free
            - developer
            - pro
            - enterprise
        billing_email:
          type: string
          nullable: true
          format: email
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
      required:
        - id
        - slug
        - name
        - plan
        - billing_email
        - created_at
        - updated_at
    OrgErrorBody:
      type: object
      properties:
        detail:
          type: string
      required:
        - detail
    OrgSlugConflictBody:
      type: object
      properties:
        detail:
          type: object
          properties:
            error:
              type: string
              enum:
                - slug_taken
            message:
              type: string
          required:
            - error
            - message
      required:
        - detail
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: JWT access token or API key (csk_...)

````