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

# Read a project's settings

> Every setting of this project your role is allowed to see, as one object. This is also the discovery call for writing: the keys it returns, minus the ones it lists in `readOnlyPaths`, are exactly the keys updateProjectSettings will accept from you. What you may see is decided per account by CloudChat and resolved on every call, so read this against the account you intend to write through.



## OpenAPI

````yaml /api-reference/specs/claudia/v1.json get /v1/projects/{project}/settings
openapi: 3.0.1
info:
  title: Claudia API
  version: 1.0.0
servers:
  - url: https://api.cloudhumans.com/claudia
    description: Production
  - url: https://api.cloudhumans.com/claudia/staging
    description: Staging
security:
  - bearerAuth: []
tags:
  - name: MCP Servers
    description: >-
      The MCP servers your agents can call tools on. Registering one here is
      what makes its tools selectable in an agent; the credentials it needs are
      stored encrypted and never read back.
  - name: Knowledge Base Content
    description: Read, search and edit the content that answers your customers.
  - name: Content Quality
    description: Rewrites proposed for content that is answering your customers badly.
  - name: Playground
    description: >-
      Talk to one of your agents as if you were a customer, without touching a
      real conversation.
  - name: Project Settings
    description: >-
      Read and change how a ClaudIA project behaves — the settings screens of
      the ClaudIA app, as an API.
  - name: Content Improvements
    description: Answers Claudia proposes for questions your content does not cover yet.
  - name: Knowledge Bases
    description: The knowledge bases your account can manage.
  - name: Content Sources
    description: The sites Claudia crawls to keep a knowledge base in sync.
paths:
  /v1/projects/{project}/settings:
    get:
      tags:
        - Project Settings
      summary: Read a project's settings
      description: >-
        Every setting of this project your role is allowed to see, as one
        object. This is also the discovery call for writing: the keys it
        returns, minus the ones it lists in `readOnlyPaths`, are exactly the
        keys updateProjectSettings will accept from you. What you may see is
        decided per account by CloudChat and resolved on every call, so read
        this against the account you intend to write through.
      operationId: getProjectSettings
      parameters:
        - name: project
          in: path
          description: >-
            The ClaudIA project to act on, by name. Get the names from
            listMyClaudiaProjects — a project these credentials do not cover
            answers 404, indistinguishable from one that does not exist.
          required: true
          schema:
            type: string
        - name: accountId
          in: query
          description: >-
            The CloudChat account whose permissions decide what you may read and
            write here, e.g. `7`. It is permission context, not the resource:
            the project is named in the path. Only unique within an instance, so
            it is always read together with the `cloudchat-instance` header —
            get the pair from listMyCloudChatAccounts. An account your
            credentials hold no editing claim for answers 403.
          required: true
          schema:
            type: string
        - name: cloudchat-instance
          in: header
          description: >-
            The CloudChat instance the account lives in, e.g. `4`. Sent as a
            header, and required: with `accountId` it forms the pair that names
            exactly one account, which `accountId` alone does not.
            listMyCloudChatAccounts returns the value to send here alongside
            each accountId.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: The settings you are allowed to read.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectSettings'
        '400':
          description: The request could not be answered as written.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Missing, expired or invalid credentials.
        '403':
          description: The credentials hold no account allowed to manage this content.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: >-
            No such resource, or none these credentials can reach — the two are
            deliberately indistinguishable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Rate limit applied by the API gateway. Back off and retry.
        '503':
          description: >-
            CloudChat could not be reached to resolve what this role may read,
            so no settings are returned rather than a guess. Retrying is
            reasonable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    ProjectSettings:
      required:
        - name
      type: object
      properties:
        name:
          type: string
          description: >-
            The project these settings belong to. Always present, whatever your
            permissions.
          example: acme_support
        readOnlyPaths:
          type: array
          description: >-
            Dotted paths present in this response that you may read but not
            write. Sending one of them to updateProjectSettings is refused.
            Absent when there are none.
          example:
            - classificationSettings.enabled
          items:
            type: string
            description: >-
              Dotted paths present in this response that you may read but not
              write. Sending one of them to updateProjectSettings is refused.
              Absent when there are none.
            example: '["classificationSettings.enabled"]'
      description: >-
        How one ClaudIA project behaves — the same settings the ClaudIA app
        shows on its settings screens. The set of keys is NOT fixed: it is
        whatever your role is allowed to see on this account, resolved against
        CloudChat on every call, so two callers reading the same project can
        legitimately get different keys. Read this before patching: the keys
        present here, minus the ones listed in `readOnlyPaths`, are exactly the
        keys updateProjectSettings accepts from you. Nested settings arrive as
        nested objects, and a key is addressed in `readOnlyPaths`, in the
        history and in an error as its dotted path
        (`greetingsSettings.staticGreeting`).
    Error:
      required:
        - error
      type: object
      properties:
        error:
          type: string
          description: What went wrong.
          example: 'Forbidden: token holds no claim for the requested account'
      description: Something the caller needs to fix.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````