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

# Get an assistant with its field limits

> The same assistant object plus the field limits the server enforces and the allowed status values, so an editing form validates before it saves, not after.

Use this to build an assistant settings form. It returns the same assistant object as `GET /assistants/{assistant_id}`, plus the field limits the server enforces and the allowed status values, so your form can validate before it saves.

The limits are fixed by the API contract, not by your deployment. An assistant that does not exist, belongs to another organization, or has a malformed ID returns `404`. Requires the owner, admin, editor or member role.

<ParamField path="assistant_id" type="string" required>
  The assistant's ID (UUID).
</ParamField>

## Response

<ResponseField name="assistant" type="object" required>
  The full assistant.

  <Expandable title="properties">
    <ResponseField name="id" type="string" required>
      The assistant's ID (UUID).
    </ResponseField>

    <ResponseField name="name" type="string" required>
      Display name.
    </ResponseField>

    <ResponseField name="description" type="string" required>
      Description. Empty string when none is set.
    </ResponseField>

    <ResponseField name="status" type="string" required>
      `active`, `disabled` or `archived`.
    </ResponseField>

    <ResponseField name="model" type="string" required>
      The model selector.
    </ResponseField>

    <ResponseField name="knowledge_base_ids" type="string[]" required>
      Knowledge bases the assistant answers from.
    </ResponseField>

    <ResponseField name="instruction" type="string | null" required>
      The stored instruction, or `null`.
    </ResponseField>

    <ResponseField name="answerable" type="boolean" required>
      `true` when the assistant is `active` and has at least one knowledge base.
    </ResponseField>

    <ResponseField name="revision" type="integer" required>
      Concurrency revision.
    </ResponseField>

    <ResponseField name="created_at" type="string | null" required>
      ISO 8601, UTC. Treat a value without an offset as UTC.
    </ResponseField>

    <ResponseField name="updated_at" type="string | null" required>
      ISO 8601, UTC. Treat a value without an offset as UTC.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="limits" type="object" required>
  Field limits enforced on create and update.

  <Expandable title="properties">
    <ResponseField name="max_name_chars" type="integer" required>
      Maximum `name` length. Currently `120`.
    </ResponseField>

    <ResponseField name="max_description_chars" type="integer" required>
      Maximum `description` length. Currently `500`.
    </ResponseField>

    <ResponseField name="max_instruction_chars" type="integer" required>
      Maximum `instruction` length. Currently `8000`.
    </ResponseField>

    <ResponseField name="max_knowledge_bases" type="integer" required>
      Maximum entries in `knowledge_base_ids`. Currently `20`.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="statuses" type="string[]" required>
  Every allowed `status` value, sorted: `active`, `archived`, `disabled`.
</ResponseField>

<RequestExample>
  ```bash cURL theme={"theme":{"light":"github-light","dark":"github-dark"}}
  curl --request GET "$MITHUNAI_URL/arukz/api/v1/assistants/5b1e9c2a-7d4f-4e3b-9a61-0c8f2d7e4a13/settings" \
    --header "Authorization: Bearer $MITHUNAI_API_KEY"
  ```

  ```python Python theme={"theme":{"light":"github-light","dark":"github-dark"}}
  import os, requests

  assistant_id = "5b1e9c2a-7d4f-4e3b-9a61-0c8f2d7e4a13"
  response = requests.get(
      f"{os.environ['MITHUNAI_URL']}/arukz/api/v1/assistants/{assistant_id}/settings",
      headers={"Authorization": f"Bearer {os.environ['MITHUNAI_API_KEY']}"},
      timeout=60,
  )
  response.raise_for_status()
  print(response.json())
  ```

  ```javascript JavaScript theme={"theme":{"light":"github-light","dark":"github-dark"}}
  const assistantId = '5b1e9c2a-7d4f-4e3b-9a61-0c8f2d7e4a13'
  const response = await fetch(
    `${process.env.MITHUNAI_URL}/arukz/api/v1/assistants/${assistantId}/settings`,
    { headers: { Authorization: `Bearer ${process.env.MITHUNAI_API_KEY}` } },
  )
  console.log(await response.json())
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={"theme":{"light":"github-light","dark":"github-dark"}}
  {
    "assistant": {
      "id": "5b1e9c2a-7d4f-4e3b-9a61-0c8f2d7e4a13",
      "name": "Developer docs assistant",
      "description": "Answers questions on the developer portal",
      "status": "active",
      "model": "anthropic/claude-sonnet-5",
      "knowledge_base_ids": ["a3c7e1f0-2b9d-4c56-8e14-7f0a9b3d6e21"],
      "instruction": "Answer for developers integrating the public API. Prefer code samples.",
      "answerable": true,
      "revision": 1,
      "created_at": "2026-09-20T14:03:11.482190",
      "updated_at": "2026-09-20T14:03:11.482190"
    },
    "limits": {
      "max_name_chars": 120,
      "max_description_chars": 500,
      "max_instruction_chars": 8000,
      "max_knowledge_bases": 20
    },
    "statuses": ["active", "archived", "disabled"]
  }
  ```

  ```json 404 theme={"theme":{"light":"github-light","dark":"github-dark"}}
  { "code": "not_found", "message": "The requested resource was not found." }
  ```
</ResponseExample>
