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: $.