> ## 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.

# List the company knowledge base items

> List every knowledge base item (e.g. Skills — reusable instruction packages) owned by the company, with their draft, published text and publication status. Call this to find an item's id before reading, editing or publishing it. Does not include the Equipment or Purchasing policy — use their dedicated endpoints instead.

<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
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:
    get:
      tags:
        - KnowledgeBaseItems
      summary: List the company knowledge base items
      description: >-
        List every knowledge base item (e.g. Skills — reusable instruction
        packages) owned by the company, with their draft, published text and
        publication status. Call this to find an item's id before reading,
        editing or publishing it. Does not include the Equipment or Purchasing
        policy — use their dedicated endpoints instead.
      operationId: listKnowledgeBaseItems
      parameters: []
      responses:
        default:
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListKnowledgeBaseItemsResponseDto_Output'
components:
  schemas:
    ListKnowledgeBaseItemsResponseDto_Output:
      type: object
      properties:
        items:
          type: array
          items:
            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:
        - items
      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>`.

````