Salesforce Knowledge Management REST API — Articles

Salesforce Knowledge Management REST API — Articles. 8 operations. Lead operation: Publish Knowledge Articles. Self-contained Naftiko capability covering one Salesforce Knowledge Management business surface.

Run with Naftiko Salesforce Knowledge ManagementArticles

What You Can Do

POST
Publishknowledgearticles — Publish Knowledge Articles
/v1/actions/standard/publishknowledgearticles
GET
Listknowledgearticles — List Knowledge Articles
/v1/sobjects/knowledgearticle
GET
Getknowledgearticle — Get Knowledge Article
/v1/sobjects/knowledgearticle/{articleid}
POST
Createknowledgearticle — Create Knowledge Article
/v1/sobjects/knowledgearticleversion
PATCH
Updateknowledgearticle — Update Knowledge Article
/v1/sobjects/knowledgearticleversion/{versionid}
DELETE
Deleteknowledgearticle — Delete Knowledge Article
/v1/sobjects/knowledgearticleversion/{versionid}
GET
Searchknowledgearticles — Search Knowledge Articles
/v1/support/knowledgearticles
GET
Getknowledgearticledetail — Get Knowledge Article Detail
/v1/support/knowledgearticles/{articleid}

MCP Tools

publish-knowledge-articles

Publish Knowledge Articles

list-knowledge-articles

List Knowledge Articles

read-only idempotent
get-knowledge-article

Get Knowledge Article

read-only idempotent
create-knowledge-article

Create Knowledge Article

update-knowledge-article

Update Knowledge Article

idempotent
delete-knowledge-article

Delete Knowledge Article

idempotent
search-knowledge-articles

Search Knowledge Articles

read-only idempotent
get-knowledge-article-detail

Get Knowledge Article Detail

read-only idempotent

Capability Spec

rest-articles.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Salesforce Knowledge Management REST API — Articles
  description: 'Salesforce Knowledge Management REST API — Articles. 8 operations. Lead operation: Publish Knowledge Articles.
    Self-contained Naftiko capability covering one Salesforce Knowledge Management business surface.'
  tags:
  - Salesforce Knowledge Management
  - Articles
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    SALESFORCE_KNOWLEDGE_MANAGEMENT_API_KEY: SALESFORCE_KNOWLEDGE_MANAGEMENT_API_KEY
capability:
  consumes:
  - type: http
    namespace: rest-articles
    baseUri: https://{instance}.salesforce.com/services/data/v59.0
    description: Salesforce Knowledge Management REST API — Articles business capability. Self-contained, no shared references.
    resources:
    - name: actions-standard-publishKnowledgeArticles
      path: /actions/standard/publishKnowledgeArticles
      operations:
      - name: publishknowledgearticles
        method: POST
        description: Publish Knowledge Articles
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: sobjects-KnowledgeArticle
      path: /sobjects/KnowledgeArticle
      operations:
      - name: listknowledgearticles
        method: GET
        description: List Knowledge Articles
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: queryLocator
          in: query
          type: string
          description: Locator for paginating through large result sets
        - name: pageSize
          in: query
          type: integer
          description: Number of results per page (max 100)
    - name: sobjects-KnowledgeArticle-articleId
      path: /sobjects/KnowledgeArticle/{articleId}
      operations:
      - name: getknowledgearticle
        method: GET
        description: Get Knowledge Article
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: articleId
          in: path
          type: string
          description: The Salesforce ID of the KnowledgeArticle record
          required: true
    - name: sobjects-KnowledgeArticleVersion
      path: /sobjects/KnowledgeArticleVersion
      operations:
      - name: createknowledgearticle
        method: POST
        description: Create Knowledge Article
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: sobjects-KnowledgeArticleVersion-versionId
      path: /sobjects/KnowledgeArticleVersion/{versionId}
      operations:
      - name: updateknowledgearticle
        method: PATCH
        description: Update Knowledge Article
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: versionId
          in: path
          type: string
          description: The Salesforce ID of the KnowledgeArticleVersion record
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: deleteknowledgearticle
        method: DELETE
        description: Delete Knowledge Article
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: versionId
          in: path
          type: string
          description: The Salesforce ID of the KnowledgeArticleVersion record
          required: true
    - name: support-knowledgeArticles
      path: /support/knowledgeArticles
      operations:
      - name: searchknowledgearticles
        method: GET
        description: Search Knowledge Articles
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: channel
          in: query
          type: string
          description: The channel to filter articles by
        - name: categories
          in: query
          type: string
          description: Map of category group to category value for filtering
        - name: queryMethod
          in: query
          type: string
          description: Method used to query the articles
        - name: sort
          in: query
          type: string
          description: Sort field for results
        - name: order
          in: query
          type: string
          description: Sort order
        - name: pageSize
          in: query
          type: integer
          description: Number of articles per page
        - name: pageNumber
          in: query
          type: integer
          description: Page number to retrieve
    - name: support-knowledgeArticles-articleId
      path: /support/knowledgeArticles/{articleId}
      operations:
      - name: getknowledgearticledetail
        method: GET
        description: Get Knowledge Article Detail
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: articleId
          in: path
          type: string
          description: The Salesforce ID of the article
          required: true
        - name: channel
          in: query
          type: string
          description: The channel context for the article view
    authentication:
      type: bearer
      token: '{{env.SALESFORCE_KNOWLEDGE_MANAGEMENT_API_KEY}}'
  exposes:
  - type: rest
    namespace: rest-articles-rest
    port: 8080
    description: REST adapter for Salesforce Knowledge Management REST API — Articles. One Spectral-compliant resource per
      consumed operation, prefixed with /v1.
    resources:
    - path: /v1/actions/standard/publishknowledgearticles
      name: actions-standard-publishknowledgearticles
      description: REST surface for actions-standard-publishKnowledgeArticles.
      operations:
      - method: POST
        name: publishknowledgearticles
        description: Publish Knowledge Articles
        call: rest-articles.publishknowledgearticles
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/sobjects/knowledgearticle
      name: sobjects-knowledgearticle
      description: REST surface for sobjects-KnowledgeArticle.
      operations:
      - method: GET
        name: listknowledgearticles
        description: List Knowledge Articles
        call: rest-articles.listknowledgearticles
        with:
          queryLocator: rest.queryLocator
          pageSize: rest.pageSize
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/sobjects/knowledgearticle/{articleid}
      name: sobjects-knowledgearticle-articleid
      description: REST surface for sobjects-KnowledgeArticle-articleId.
      operations:
      - method: GET
        name: getknowledgearticle
        description: Get Knowledge Article
        call: rest-articles.getknowledgearticle
        with:
          articleId: rest.articleId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/sobjects/knowledgearticleversion
      name: sobjects-knowledgearticleversion
      description: REST surface for sobjects-KnowledgeArticleVersion.
      operations:
      - method: POST
        name: createknowledgearticle
        description: Create Knowledge Article
        call: rest-articles.createknowledgearticle
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/sobjects/knowledgearticleversion/{versionid}
      name: sobjects-knowledgearticleversion-versionid
      description: REST surface for sobjects-KnowledgeArticleVersion-versionId.
      operations:
      - method: PATCH
        name: updateknowledgearticle
        description: Update Knowledge Article
        call: rest-articles.updateknowledgearticle
        with:
          versionId: rest.versionId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deleteknowledgearticle
        description: Delete Knowledge Article
        call: rest-articles.deleteknowledgearticle
        with:
          versionId: rest.versionId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/support/knowledgearticles
      name: support-knowledgearticles
      description: REST surface for support-knowledgeArticles.
      operations:
      - method: GET
        name: searchknowledgearticles
        description: Search Knowledge Articles
        call: rest-articles.searchknowledgearticles
        with:
          channel: rest.channel
          categories: rest.categories
          queryMethod: rest.queryMethod
          sort: rest.sort
          order: rest.order
          pageSize: rest.pageSize
          pageNumber: rest.pageNumber
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/support/knowledgearticles/{articleid}
      name: support-knowledgearticles-articleid
      description: REST surface for support-knowledgeArticles-articleId.
      operations:
      - method: GET
        name: getknowledgearticledetail
        description: Get Knowledge Article Detail
        call: rest-articles.getknowledgearticledetail
        with:
          articleId: rest.articleId
          channel: rest.channel
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: rest-articles-mcp
    port: 9090
    transport: http
    description: MCP adapter for Salesforce Knowledge Management REST API — Articles. One tool per consumed operation, routed
      inline through this capability's consumes block.
    tools:
    - name: publish-knowledge-articles
      description: Publish Knowledge Articles
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: rest-articles.publishknowledgearticles
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: list-knowledge-articles
      description: List Knowledge Articles
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-articles.listknowledgearticles
      with:
        queryLocator: tools.queryLocator
        pageSize: tools.pageSize
      outputParameters:
      - type: object
        mapping: $.
    - name: get-knowledge-article
      description: Get Knowledge Article
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-articles.getknowledgearticle
      with:
        articleId: tools.articleId
      outputParameters:
      - type: object
        mapping: $.
    - name: create-knowledge-article
      description: Create Knowledge Article
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: rest-articles.createknowledgearticle
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: update-knowledge-article
      description: Update Knowledge Article
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: rest-articles.updateknowledgearticle
      with:
        versionId: tools.versionId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-knowledge-article
      description: Delete Knowledge Article
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: rest-articles.deleteknowledgearticle
      with:
        versionId: tools.versionId
      outputParameters:
      - type: object
        mapping: $.
    - name: search-knowledge-articles
      description: Search Knowledge Articles
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-articles.searchknowledgearticles
      with:
        channel: tools.channel
        categories: tools.categories
        queryMethod: tools.queryMethod
        sort: tools.sort
        order: tools.order
        pageSize: tools.pageSize
        pageNumber: tools.pageNumber
      outputParameters:
      - type: object
        mapping: $.
    - name: get-knowledge-article-detail
      description: Get Knowledge Article Detail
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-articles.getknowledgearticledetail
      with:
        articleId: tools.articleId
        channel: tools.channel
      outputParameters:
      - type: object
        mapping: $.