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

# Get a knowledge base item

> Return a single knowledge base item by id: its editable draft, the published text the agent sees at runtime (or null if never published), and its publication status. Read this before updating so you can show the user the current text.

<span className="badge-read">Key: Read</span><span className="badge-company">Scope: Company</span>


## OpenAPI

````yaml https://api.getprimo.com/openapi.json get /knowledge-base-items/{id}
openapi: 3.1.1
info:
  title: Public API - BETA
  description: Read docs on https://docs.getprimo.com/
  version: '1.0'
  contact: {}
servers:
  - url: https://api.getprimo.com
security:
  - apikey: []
tags: []
paths:
  /knowledge-base-items/{id}:
    get:
      tags:
        - KnowledgeBaseItems
      summary: Get a knowledge base item
      description: >-
        Return a single knowledge base item by id: its editable draft, the
        published text the agent sees at runtime (or null if never published),
        and its publication status. Read this before updating so you can show
        the user the current text.
      operationId: getKnowledgeBaseItem
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
      responses:
        default:
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetKnowledgeBaseItemResponseDto_Output'
components:
  schemas:
    GetKnowledgeBaseItemResponseDto_Output:
      type: object
      properties:
        item:
          type: object
          properties:
            id:
              type: string
            status:
              description: >-
                Publication state. "unpublished": never published (or hidden).
                "pending-changes": the draft has edits not yet published.
                "published": the draft matches the published text.
              type: string
              enum:
                - unpublished
                - pending-changes
                - published
            draft:
              description: >-
                The editable draft. This is the text
                updateKnowledgeBaseItemDraft writes.
              type: object
              properties:
                name:
                  description: The item name.
                  type: string
                description:
                  description: A short description of what the item is for.
                  type: string
                content:
                  description: >-
                    The Markdown body of the item (frontmatter name +
                    description, then content).
                  type: string
              required:
                - name
                - description
                - content
              additionalProperties: false
            published:
              description: >-
                The published text the AI agent sees at runtime, or null if
                never published. Diff it against the draft to surface pending
                edits.
              anyOf:
                - type: object
                  properties:
                    name:
                      description: The item name.
                      type: string
                    description:
                      description: A short description of what the item is for.
                      type: string
                    content:
                      description: >-
                        The Markdown body of the item (frontmatter name +
                        description, then content).
                      type: string
                  required:
                    - name
                    - description
                    - content
                  additionalProperties: false
                - type: 'null'
          required:
            - id
            - status
            - draft
            - published
          additionalProperties: false
      required:
        - item
      additionalProperties: false
  securitySchemes:
    apikey:
      scheme: bearer
      bearerFormat: API key
      type: http
      description: >-
        Use your Primo API key in the Authorization header as `Bearer
        <API_KEY>`.

````