> ## Documentation index
> Fetch the complete documentation index at: https://context7.com/docs/llms.txt
> Ask it with GET https://context7.com/docs/ask?q=<keywords or question>. Short keywords rank best.
> Use these to discover all available pages before exploring further.
> Feature requests: https://context7.com/docs/resources/feature-requests.md lists what users asked for and how to vote for a request or add one.
> Page rating: `GET https://context7.com/docs/feedback?path=/docs/api-reference/teamspace-libraries/update-library-settings&helpful=true` (or `false`) records whether this page helped. An optional `comment` (URL-encoded, at most 500 characters) says what was missing or wrong. It is anonymous and needs no key. Comments hold no code, secrets or personal data.

# Update library settings

> Change the owner settings of a library the teamspace has claimed. The next refresh uses them.

`PATCH /v2/teamspaces/{teamspaceId}/libraries/{owner}/{repo}`

## OpenAPI

````yaml https://context7.com/openapi.json patch /v2/teamspaces/{teamspaceId}/libraries/{owner}/{repo}
openapi: 3.0.0
info:
  title: Context7 Public API
  description: The Context7 Public API provides programmatic access to library
    documentation and search functionality. Get up-to-date documentation and
    code examples for any library.
  version: 2.0.0
  contact:
    name: Context7 Support
    url: https://context7.com
    email: support@context7.com
servers:
  - url: https://context7.com/api
    description: Production server
tags:
  - name: Search
    description: Search for libraries in the Context7 database
  - name: Context
    description: Retrieve documentation context for queries
  - name: Ask
    description: Answer questions from a website registered with Context7 Ask
  - name: Refresh
    description: Refresh existing libraries to fetch latest documentation
  - name: Policies
    description: Manage teamspace access policies and filters
  - name: Add Library
    description: Submit new libraries for documentation processing
  - name: Metrics
    description: Retrieve usage metrics for libraries
  - name: Usage
    description: See member and teamspace API usage
  - name: Teamspaces
    description: Teamspaces the caller is a member of. The management API
      (`/v2/teamspaces/*`) accepts a Context7 API key created with management
      access (other keys get 403 `management_access_required`), which reaches
      only its own teamspace, or an OAuth token issued for the Context7 Admin
      MCP server (`https://admin.mcp.context7.com/mcp`), which reaches every
      teamspace of the user. A browser session is not accepted.
  - name: Teamspace Admin
    description: Members, invitations, rules, library policies and requests, usage
      and the spending limit of a teamspace.
  - name: Teamspace Libraries
    description: "A teamspace's libraries: its private sources and the libraries it
      has claimed. Add, refresh, configure, version, claim and remove them, and
      read their parse state and usage. A library id `/owner/repo` is two path
      segments."
  - name: Docs7 Sites
    description: 'Docs7 documentation sites of a teamspace: settings, custom
      domains, deployments, previews and the Docs7 agents. Any member can read;
      owners and admins can change; developers can add a site, publish one added
      for the agents only, and rebuild. Sites deployed with the `docs7 deploy`
      CLI have `source: "local"`; operations marked GitHub-only answer 404 for
      them.'
  - name: Docs7 Analytics
    description: "Traffic of one Docs7 site: visitors, AI crawlers, searches,
      assistant questions and page feedback. Docs7 Free reads the last 7 days,
      Docs7 Pro the last 90."
  - name: Ask Sites
    description: "Manage a teamspace's Context7 Ask sites: add, verify, remove, and
      read their analytics and question log"
paths:
  /v2/teamspaces/{teamspaceId}/libraries/{owner}/{repo}:
    patch:
      tags:
        - Teamspace Libraries
      summary: Update library settings
      description: Change the owner settings of a library the teamspace has claimed.
        The next refresh uses them.
      operationId: updateTeamspaceLibrary
      security:
        - bearerAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/TeamspaceLibraryConfigUpdate"
            example:
              folders:
                - docs
              excludeFolders:
                - docs/legacy
      responses:
        "200":
          description: The saved settings
          content:
            application/json:
              schema:
                type: object
                required:
                  - config
                properties:
                  config:
                    $ref: "#/components/schemas/TeamspaceLibraryConfig"
        "400":
          description: Invalid settings, unsafe rules (`unsafe_rules`, with
            `flaggedRules`), or a title or description the review refused
            (`metadata_rejected`)
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
              example:
                error: unsafe_rules
                message: Some rules were flagged as potentially unsafe and cannot be saved
        "401":
          $ref: "#/components/responses/UnauthorizedError"
        "403":
          description: The caller cannot access the teamspace or its role is too low
            (`forbidden`), or the teamspace has not claimed the library
            (`not_owner`)
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
              example:
                error: not_owner
                message: This teamspace does not own the library. Claim it first.
        "404":
          description: The teamspace has no library with this id (neither claimed nor one
            of its private sources)
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
              example:
                error: library_not_found
                message: This teamspace has no library with this id.
        "500":
          $ref: "#/components/responses/InternalServerError"
        "503":
          description: The title and description review is not available; try again
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
              example:
                error: metadata_review_unavailable
                message: Metadata review is unavailable. Try again later.
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Get your API key at
        [context7.com/dashboard](https://context7.com/dashboard). Treat your API
        key like a password and store it securely.
  schemas:
    Error:
      type: object
      description: Standard error response
      properties:
        error:
          type: string
          description: Error code identifier
        message:
          type: string
          description: Human-readable error message
      required:
        - error
        - message
    TeamspaceLibraryConfigUpdate:
      type: object
      description: Owner settings. Send only the fields to change. A changed title or
        description of a public library is reviewed before it is saved. Rules
        are checked for unsafe content.
      properties:
        projectTitle:
          type: string
          maxLength: 100
        description:
          type: string
          maxLength: 500
        baseUrl:
          type: string
          maxLength: 100
          description: Website base URL (http or https).
        webUrl:
          type: string
          maxLength: 500
          description: Link shown on the library page (http or https).
        branch:
          type: string
          maxLength: 100
          description: Branch to parse (repositories).
        folders:
          type: array
          maxItems: 50
          items:
            type: string
            maxLength: 255
          description: Only parse these folders.
        excludeFolders:
          type: array
          maxItems: 50
          items:
            type: string
            maxLength: 255
        excludeFiles:
          type: array
          maxItems: 100
          items:
            type: string
            maxLength: 255
        rules:
          type: array
          maxItems: 50
          items:
            type: string
            maxLength: 255
          description: Rules shown to agents with the documentation.
        disallow:
          type: boolean
          description: Stop indexing the library.
        useQueryParams:
          type: boolean
          description: Keep query parameters when crawling (websites).
        excludeUrls:
          type: array
          maxItems: 100
          items:
            type: string
            maxLength: 500
          description: URLs not to crawl (websites).
        skipClaudeVersionExclusion:
          type: boolean
          description: Keep pages that look version-specific.
        configSource:
          type: string
          enum:
            - dashboard
            - context7json
          description: "Where the parser reads settings from: these settings, or the
            repository's `context7.json` (claimed repositories)."
    TeamspaceLibraryConfig:
      type: object
      description: The saved owner settings. Unset fields are null.
      properties:
        projectTitle:
          type: string
          nullable: true
        description:
          type: string
          nullable: true
        baseUrl:
          type: string
          nullable: true
        webUrl:
          type: string
          nullable: true
        branch:
          type: string
          nullable: true
        folders:
          type: array
          items:
            type: string
          nullable: true
        excludeFolders:
          type: array
          items:
            type: string
          nullable: true
        excludeFiles:
          type: array
          items:
            type: string
          nullable: true
        rules:
          type: array
          items:
            type: string
          nullable: true
        disallow:
          type: boolean
          nullable: true
        useQueryParams:
          type: boolean
          nullable: true
        excludeUrls:
          type: array
          items:
            type: string
          nullable: true
        skipClaudeVersionExclusion:
          type: boolean
          nullable: true
        configSource:
          type: string
          enum:
            - dashboard
            - context7json
          nullable: true
  responses:
    InternalServerError:
      description: Internal Server Error
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Error"
          example:
            error: internal_error
            message: An error occurred while processing your request
    UnauthorizedError:
      description: Unauthorized - Invalid or missing API key
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Error"
          example:
            error: invalid_api_key
            message: Invalid API key. Please check your API key. API keys should start with
              'ctx7sk' prefix.
````
