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

# Update custom skill

> Update an org-scoped custom skill by slug. Only provided fields are updated. Version is auto-incremented.



## OpenAPI

````yaml /openapi.json put /skills/{slug}
openapi: 3.1.0
info:
  title: Case.dev API
  description: >-
    The AI-native platform for legal technology. Build smarter legal
    applications with our suite of AI-powered APIs.
  version: 1.0.0
  contact:
    name: Case.dev Support
    email: support@casemark.com
    url: https://case.dev
  license:
    name: Proprietary
    url: https://case.dev/terms
servers:
  - url: https://api.case.dev
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Vaults
    description: Secure document storage with semantic search and GraphRAG
  - name: Vault Events
    description: Vault-scoped event subscriptions and delivery testing
  - name: Vault Memory
    description: Vault-scoped persistent memory and semantic retrieval
  - name: Vault Objects
    description: Vault object management, content access, and document operations
  - name: Memory
    description: >-
      Persistent memory for AI agents with semantic search and 12 generic
      indexed tag fields
  - name: OCR
    description: Extract text from PDFs, images, and scanned documents
  - name: Voice
    description: Audio transcription and text-to-speech
  - name: LLMs
    description: Access 40+ language models through a unified API
  - name: Search
    description: Web search and AI answers
  - name: Mail
    description: Managed inboxes for agent email workflows
  - name: Media
    description: Transcript retrieval and captioned media clip generation
  - name: Legal
    description: Legal research tools including citation verification
  - name: Privilege
    description: Privilege detection for e-discovery and litigation workflows
  - name: Compute
    description: Serverless GPU and CPU infrastructure
  - name: Format
    description: Document formatting and template rendering (MD/JSON to PDF/DOCX)
  - name: SuperDoc
    description: Document conversion and template automation
  - name: Webhooks
    description: Webhook endpoint management
  - name: System
    description: Public system metadata and discovery endpoints
  - name: Usage
    description: Usage reporting and webhook subscriptions
  - name: Database
    description: Serverless PostgreSQL databases with instant branching
  - name: Translation
    description: Language detection and translation for multilingual legal workflows
  - name: Skills
    description: Search and read legal AI skills for agents
  - name: Agents/Linc
    description: Durable, stateful legal agent sessions with sandboxed tools and files
  - name: Matters
    description: Matter-native legal workspaces and orchestration primitives
  - name: Connectors
    description: Import and export between provider folders (Google Drive) and vaults
  - name: Applications Projects
    description: Web application project management
  - name: Applications Deployments
    description: Web application deployment management
  - name: Applications Domains
    description: Custom domain configuration for applications
  - name: Applications Env Vars
    description: Environment variable management for applications
paths:
  /skills/{slug}:
    put:
      tags:
        - Skills
      summary: Update custom skill
      description: >-
        Update an org-scoped custom skill by slug. Only provided fields are
        updated. Version is auto-incremented.
      operationId: updateCustomSkill
      parameters:
        - name: slug
          in: path
          required: true
          schema:
            type: string
          description: Skill slug to update
      requestBody:
        description: Fields to update
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  maxLength: 256
                slug:
                  type: string
                  description: New slug (renames the skill)
                  maxLength: 128
                summary:
                  type: string
                  maxLength: 1000
                  nullable: true
                content:
                  type: string
                tags:
                  type: array
                  items:
                    type: string
                metadata:
                  type: object
                files:
                  type: array
                  nullable: true
                  description: >-
                    Optional replacement companion file tree. Omit to leave
                    existing bundled files unchanged; send [] to remove bundled
                    files.
                  maxItems: 100
                  items:
                    type: object
                    required:
                      - path
                      - content
                    properties:
                      path:
                        type: string
                        maxLength: 512
                      content:
                        type: string
                        maxLength: 65536
                      name:
                        type: string
                        maxLength: 256
                      summary:
                        type: string
                        maxLength: 1000
                      tags:
                        type: array
                        items:
                          type: string
                      metadata:
                        type: object
                      contentType:
                        type: string
                        maxLength: 100
      responses:
        '200':
          description: Skill updated
          content:
            application/json:
              schema:
                type: object
                properties:
                  slug:
                    type: string
                  name:
                    type: string
                  summary:
                    type: string
                    nullable: true
                  content:
                    type: string
                  tags:
                    type: array
                    items:
                      type: string
                  metadata:
                    type: object
                  bundle:
                    type: object
                    nullable: true
                  version:
                    type: integer
                  updated_at:
                    type: string
                    format: date-time
        '400':
          description: Invalid input
        '401':
          description: Authentication required
        '403':
          description: Insufficient permissions
        '404':
          description: Skill not found in this org
        '409':
          description: Slug conflict
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: API key starting with `sk_case_`

````