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

# Search the Resource Center

> Hybrid keyword and semantic search over published coaching content and help articles, with the requesting tenant's license and import status for each result. Users without Resource Center access (ADMIN or an RC publish permission) receive help articles only.



## OpenAPI

````yaml https://app.govworx.net/u/api-docs get /api/v1/external/mcp/resources/resource-center/search
openapi: 3.1.0
info:
  title: GovWorx Data API
  description: Interfaces to access data produced and organized by GovWorx Applications.
  termsOfService: http://swagger.io/terms/
  version: '1.0'
servers:
  - url: https://app.govworx.net
security: []
tags:
  - name: TRAIN
    description: Training Phase and Enrollment Records
  - name: Knowledge
    description: >-
      Push and version guide cards and instruction cards into GovWorx from
      external systems (e.g., APCO, PowerPhone, IAED). 


      ## Concepts


      **Knowledge entry:** A guide card or instruction card identified by a
      GovWorx-internal `id` and your partner-supplied `externalId`. Each entry
      carries one or more immutable versions.


      **Version:** An immutable snapshot of the guide card content created by
      `POST /` (create) or `POST /{knowledgeId}/versions` (append). Only one
      version is published (active) at a time.


      **Section ownership (`apiControl`):** A single top-level `apiControl`
      object on each request declares which sections are owned by the API and
      which are managed within GovWorx. API-owned sections are fully overwritten
      on every append. GovWorx-owned sections are editable inside GovWorx and
      carried forward automatically — do not include their content in append
      payloads. Flags are set once at creation and are immutable between
      versions.


      A question's `displayCriteria` condition follows the same rule as its
      `questionList`: a root question may carry its own condition, and a
      question inside a `relatedQuestions` group stacks its condition on top of
      the group's.


      **Card-level links (`actions.links`):** Follow the `links` flag in
      `apiControl`, like any other action-set section. Each link identifies its
      target by the target document's `targetExternalId` (that document's own
      `externalId`, under the same `provider`) rather than a GovWorx-internal id
      — GovWorx resolves it into the target section on every write. **The target
      document must already be loaded in this tenant** (it need not be
      published); load target documents before any document that links to them.
      A `targetExternalId` that cannot be resolved rejects the whole request
      (400). The `target*` response fields (`targetDocumentName`, etc.) are
      computed and stored at create/append time; `GET /{knowledgeId}` returns
      them exactly as stored, with no re-resolution, so a target renamed or
      deleted since the last write does not invalidate a read.


      ## referenceId lifecycle


      GovWorx assigns a stable `referenceId` to every item in every content list
      on create — any `referenceId` supplied on create is ignored, not stored,
      so a value copied from another card or from a deleted one can never
      collide with it. These identifiers are echoed back in the create/append
      response, and can also be read back at any time with `GET /{knowledgeId}`.
      If a card's `id` itself wasn't stored, `GET /` lists the tenant's
      API-managed entries to recover it. **Store them.** On future appends, echo
      a `referenceId` to update the existing item in place. Omit the
      `referenceId` to add a new item (a fresh id is generated). Supplying an
      unknown `referenceId` on append — one not present in the previous version
      — is rejected (400).


      Reference id formats: `q-{8 hex}` (questions), `si-{8 hex}` (spoken
      instructions), `ca-{8 hex}` (CAD actions), `sms-{8 hex}` (SMS messages),
      `dt-{8 hex}` (dispatch triggers), `lk-{8 hex}` (links), `md-{8 hex}`
      (media). A `referenceMedia` / `mediaRef` that named a supplied media id on
      create is repointed at that asset's new id.


      ## Authentication


      All endpoints require a bearer token with the `Manage Knowledge`
      permission, except the read-only lookup and GET endpoints, which also
      accept `View Knowledge`.
  - name: Audit Log Export
    description: Programmatically pull audit records into your SIEM solution
  - name: Media Ingest
    description: External media ingest — SRT radio traffic
  - name: Incident
    description: Upload a new Incident to the system
  - name: MCP Resources
    description: MCP Resource endpoints for external integrations
  - name: Quality Assurance
    description: QA evaluation and feedback report endpoints
  - name: Users
    description: User Records
externalDocs:
  description: GovWorx Developer Docs
  url: https://api.govworx.ai
paths:
  /api/v1/external/mcp/resources/resource-center/search:
    get:
      tags:
        - MCP Resources
      summary: Search the Resource Center
      description: >-
        Hybrid keyword and semantic search over published coaching content and
        help articles, with the requesting tenant's license and import status
        for each result. Users without Resource Center access (ADMIN or an RC
        publish permission) receive help articles only.
      operationId: searchResourceCenter
      parameters:
        - name: query
          in: query
          required: true
          schema:
            type: string
        - name: itemType
          in: query
          required: false
          schema:
            type: string
        - name: categoryId
          in: query
          required: false
          schema:
            type: integer
            format: int64
        - name: page
          in: query
          required: false
          schema:
            type: integer
            format: int32
            default: 0
        - name: pageSize
          in: query
          required: false
          schema:
            type: integer
            format: int32
            default: 10
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ResourceCenterSearchResponseDto'
components:
  schemas:
    ResourceCenterSearchResponseDto:
      type: object
      properties:
        results:
          type: array
          items:
            $ref: '#/components/schemas/ResourceCenterSearchResultDto'
        totalHits:
          type: integer
          format: int64
        page:
          type: integer
          format: int32
        pageSize:
          type: integer
          format: int32
    ResourceCenterSearchResultDto:
      type: object
      properties:
        itemType:
          type: string
        id:
          type: integer
          format: int64
        title:
          type: string
        summary:
          type: string
        matchedSnippet:
          type: string
        category:
          type: string
        thumbnailUrl:
          type: string
        licensed:
          type: boolean
        requiredLicenseName:
          type: string
        importStatus:
          type: string
          enum:
            - NOT_IMPORTED
            - IMPORTED
            - UPDATE_AVAILABLE
        url:
          type: string

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.