naftiko: 1.0.0-alpha2 info: label: LangSmith — feedback description: 'LangSmith — feedback. 15 operations. Lead operation: Read Feedbacks. Self-contained Naftiko capability covering one Langchain business surface.' tags: - Langchain - feedback created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: LANGCHAIN_API_KEY: LANGCHAIN_API_KEY capability: consumes: - type: http namespace: langchain-feedback baseUri: '' description: LangSmith — feedback business capability. Self-contained, no shared references. resources: - name: api-v1-feedback path: /api/v1/feedback operations: - name: readfeedbacksapiv1feedbackget method: GET description: Read Feedbacks outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: run in: query type: string - name: key in: query type: string - name: session in: query type: string - name: source in: query type: string - name: limit in: query type: integer - name: offset in: query type: integer - name: user in: query type: string - name: has_comment in: query type: string - name: has_score in: query type: string - name: level in: query type: string - name: max_created_at in: query type: string - name: min_created_at in: query type: string - name: include_user_names in: query type: string - name: comparative_experiment_id in: query type: string - name: createfeedbackapiv1feedbackpost method: POST description: Create Feedback outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-v1-feedback-eager path: /api/v1/feedback/eager operations: - name: eagerlycreatefeedbackapiv1feedbackeagerpost method: POST description: Eagerly Create Feedback outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-v1-feedback-formulas path: /api/v1/feedback/formulas operations: - name: createfeedbackformulaepapiv1feedbackformulaspost method: POST description: Create Feedback Formula Ep outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: listfeedbackformulaepapiv1feedbackformulasget method: GET description: List Feedback Formula Ep outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: dataset_id in: query type: string - name: session_id in: query type: string - name: limit in: query type: integer - name: offset in: query type: integer - name: api-v1-feedback-formulas-feedback_formula_id path: /api/v1/feedback/formulas/{feedback_formula_id} operations: - name: getfeedbackformulaepapiv1feedbackformulasfeedbackformulaidget method: GET description: Get Feedback Formula Ep outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: feedback_formula_id in: path type: string required: true - name: updatefeedbackformulaepapiv1feedbackformulasfeedbackformulaidput method: PUT description: Update Feedback Formula Ep outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: feedback_formula_id in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: deletefeedbackformulaendpointapiv1feedbackformulasfeedbackformulaiddelete method: DELETE description: Delete Feedback Formula Endpoint outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: feedback_formula_id in: path type: string required: true - name: api-v1-feedback-tokens path: /api/v1/feedback/tokens operations: - name: createfeedbackingesttokenapiv1feedbacktokenspost method: POST description: Create Feedback Ingest Token outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: listfeedbackingesttokensapiv1feedbacktokensget method: GET description: List Feedback Ingest Tokens outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: run_id in: query type: string required: true - name: api-v1-feedback-tokens-token path: /api/v1/feedback/tokens/{token} operations: - name: createfeedbackwithtokengetapiv1feedbacktokenstokenget method: GET description: Create Feedback With Token Get outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: token in: path type: string required: true - name: score in: query type: string - name: value in: query type: string - name: comment in: query type: string - name: correction in: query type: string - name: createfeedbackwithtokenpostapiv1feedbacktokenstokenpost method: POST description: Create Feedback With Token Post outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: token in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: api-v1-feedback-feedback_id path: /api/v1/feedback/{feedback_id} operations: - name: readfeedbackapiv1feedbackfeedbackidget method: GET description: Read Feedback outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: feedback_id in: path type: string required: true - name: include_user_names in: query type: string - name: updatefeedbackapiv1feedbackfeedbackidpatch method: PATCH description: Update Feedback outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: feedback_id in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: deletefeedbackapiv1feedbackfeedbackiddelete method: DELETE description: Delete Feedback outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: feedback_id in: path type: string required: true authentication: type: bearer token: '{{env.LANGCHAIN_API_KEY}}' exposes: - type: rest namespace: langchain-feedback-rest port: 8080 description: REST adapter for LangSmith — feedback. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/v1/feedback name: api-v1-feedback description: REST surface for api-v1-feedback. operations: - method: GET name: readfeedbacksapiv1feedbackget description: Read Feedbacks call: langchain-feedback.readfeedbacksapiv1feedbackget with: run: rest.run key: rest.key session: rest.session source: rest.source limit: rest.limit offset: rest.offset user: rest.user has_comment: rest.has_comment has_score: rest.has_score level: rest.level max_created_at: rest.max_created_at min_created_at: rest.min_created_at include_user_names: rest.include_user_names comparative_experiment_id: rest.comparative_experiment_id outputParameters: - type: object mapping: $. - method: POST name: createfeedbackapiv1feedbackpost description: Create Feedback call: langchain-feedback.createfeedbackapiv1feedbackpost with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v1/feedback/eager name: api-v1-feedback-eager description: REST surface for api-v1-feedback-eager. operations: - method: POST name: eagerlycreatefeedbackapiv1feedbackeagerpost description: Eagerly Create Feedback call: langchain-feedback.eagerlycreatefeedbackapiv1feedbackeagerpost with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v1/feedback/formulas name: api-v1-feedback-formulas description: REST surface for api-v1-feedback-formulas. operations: - method: POST name: createfeedbackformulaepapiv1feedbackformulaspost description: Create Feedback Formula Ep call: langchain-feedback.createfeedbackformulaepapiv1feedbackformulaspost with: body: rest.body outputParameters: - type: object mapping: $. - method: GET name: listfeedbackformulaepapiv1feedbackformulasget description: List Feedback Formula Ep call: langchain-feedback.listfeedbackformulaepapiv1feedbackformulasget with: dataset_id: rest.dataset_id session_id: rest.session_id limit: rest.limit offset: rest.offset outputParameters: - type: object mapping: $. - path: /v1/api/v1/feedback/formulas/{feedback-formula-id} name: api-v1-feedback-formulas-feedback-formula-id description: REST surface for api-v1-feedback-formulas-feedback_formula_id. operations: - method: GET name: getfeedbackformulaepapiv1feedbackformulasfeedbackformulaidget description: Get Feedback Formula Ep call: langchain-feedback.getfeedbackformulaepapiv1feedbackformulasfeedbackformulaidget with: feedback_formula_id: rest.feedback_formula_id outputParameters: - type: object mapping: $. - method: PUT name: updatefeedbackformulaepapiv1feedbackformulasfeedbackformulaidput description: Update Feedback Formula Ep call: langchain-feedback.updatefeedbackformulaepapiv1feedbackformulasfeedbackformulaidput with: feedback_formula_id: rest.feedback_formula_id body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletefeedbackformulaendpointapiv1feedbackformulasfeedbackformulaiddelete description: Delete Feedback Formula Endpoint call: langchain-feedback.deletefeedbackformulaendpointapiv1feedbackformulasfeedbackformulaiddelete with: feedback_formula_id: rest.feedback_formula_id outputParameters: - type: object mapping: $. - path: /v1/api/v1/feedback/tokens name: api-v1-feedback-tokens description: REST surface for api-v1-feedback-tokens. operations: - method: POST name: createfeedbackingesttokenapiv1feedbacktokenspost description: Create Feedback Ingest Token call: langchain-feedback.createfeedbackingesttokenapiv1feedbacktokenspost with: body: rest.body outputParameters: - type: object mapping: $. - method: GET name: listfeedbackingesttokensapiv1feedbacktokensget description: List Feedback Ingest Tokens call: langchain-feedback.listfeedbackingesttokensapiv1feedbacktokensget with: run_id: rest.run_id outputParameters: - type: object mapping: $. - path: /v1/api/v1/feedback/tokens/{token} name: api-v1-feedback-tokens-token description: REST surface for api-v1-feedback-tokens-token. operations: - method: GET name: createfeedbackwithtokengetapiv1feedbacktokenstokenget description: Create Feedback With Token Get call: langchain-feedback.createfeedbackwithtokengetapiv1feedbacktokenstokenget with: token: rest.token score: rest.score value: rest.value comment: rest.comment correction: rest.correction outputParameters: - type: object mapping: $. - method: POST name: createfeedbackwithtokenpostapiv1feedbacktokenstokenpost description: Create Feedback With Token Post call: langchain-feedback.createfeedbackwithtokenpostapiv1feedbacktokenstokenpost with: token: rest.token body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v1/feedback/{feedback-id} name: api-v1-feedback-feedback-id description: REST surface for api-v1-feedback-feedback_id. operations: - method: GET name: readfeedbackapiv1feedbackfeedbackidget description: Read Feedback call: langchain-feedback.readfeedbackapiv1feedbackfeedbackidget with: feedback_id: rest.feedback_id include_user_names: rest.include_user_names outputParameters: - type: object mapping: $. - method: PATCH name: updatefeedbackapiv1feedbackfeedbackidpatch description: Update Feedback call: langchain-feedback.updatefeedbackapiv1feedbackfeedbackidpatch with: feedback_id: rest.feedback_id body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletefeedbackapiv1feedbackfeedbackiddelete description: Delete Feedback call: langchain-feedback.deletefeedbackapiv1feedbackfeedbackiddelete with: feedback_id: rest.feedback_id outputParameters: - type: object mapping: $. - type: mcp namespace: langchain-feedback-mcp port: 9090 transport: http description: MCP adapter for LangSmith — feedback. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: read-feedbacks description: Read Feedbacks hints: readOnly: true destructive: false idempotent: true call: langchain-feedback.readfeedbacksapiv1feedbackget with: run: tools.run key: tools.key session: tools.session source: tools.source limit: tools.limit offset: tools.offset user: tools.user has_comment: tools.has_comment has_score: tools.has_score level: tools.level max_created_at: tools.max_created_at min_created_at: tools.min_created_at include_user_names: tools.include_user_names comparative_experiment_id: tools.comparative_experiment_id outputParameters: - type: object mapping: $. - name: create-feedback description: Create Feedback hints: readOnly: false destructive: false idempotent: false call: langchain-feedback.createfeedbackapiv1feedbackpost with: body: tools.body outputParameters: - type: object mapping: $. - name: eagerly-create-feedback description: Eagerly Create Feedback hints: readOnly: false destructive: false idempotent: false call: langchain-feedback.eagerlycreatefeedbackapiv1feedbackeagerpost with: body: tools.body outputParameters: - type: object mapping: $. - name: create-feedback-formula-ep description: Create Feedback Formula Ep hints: readOnly: false destructive: false idempotent: false call: langchain-feedback.createfeedbackformulaepapiv1feedbackformulaspost with: body: tools.body outputParameters: - type: object mapping: $. - name: list-feedback-formula-ep description: List Feedback Formula Ep hints: readOnly: true destructive: false idempotent: true call: langchain-feedback.listfeedbackformulaepapiv1feedbackformulasget with: dataset_id: tools.dataset_id session_id: tools.session_id limit: tools.limit offset: tools.offset outputParameters: - type: object mapping: $. - name: get-feedback-formula-ep description: Get Feedback Formula Ep hints: readOnly: true destructive: false idempotent: true call: langchain-feedback.getfeedbackformulaepapiv1feedbackformulasfeedbackformulaidget with: feedback_formula_id: tools.feedback_formula_id outputParameters: - type: object mapping: $. - name: update-feedback-formula-ep description: Update Feedback Formula Ep hints: readOnly: false destructive: false idempotent: true call: langchain-feedback.updatefeedbackformulaepapiv1feedbackformulasfeedbackformulaidput with: feedback_formula_id: tools.feedback_formula_id body: tools.body outputParameters: - type: object mapping: $. - name: delete-feedback-formula-endpoint description: Delete Feedback Formula Endpoint hints: readOnly: false destructive: true idempotent: true call: langchain-feedback.deletefeedbackformulaendpointapiv1feedbackformulasfeedbackformulaiddelete with: feedback_formula_id: tools.feedback_formula_id outputParameters: - type: object mapping: $. - name: create-feedback-ingest-token description: Create Feedback Ingest Token hints: readOnly: false destructive: false idempotent: false call: langchain-feedback.createfeedbackingesttokenapiv1feedbacktokenspost with: body: tools.body outputParameters: - type: object mapping: $. - name: list-feedback-ingest-tokens description: List Feedback Ingest Tokens hints: readOnly: true destructive: false idempotent: true call: langchain-feedback.listfeedbackingesttokensapiv1feedbacktokensget with: run_id: tools.run_id outputParameters: - type: object mapping: $. - name: create-feedback-token-get description: Create Feedback With Token Get hints: readOnly: true destructive: false idempotent: true call: langchain-feedback.createfeedbackwithtokengetapiv1feedbacktokenstokenget with: token: tools.token score: tools.score value: tools.value comment: tools.comment correction: tools.correction outputParameters: - type: object mapping: $. - name: create-feedback-token-post description: Create Feedback With Token Post hints: readOnly: false destructive: false idempotent: false call: langchain-feedback.createfeedbackwithtokenpostapiv1feedbacktokenstokenpost with: token: tools.token body: tools.body outputParameters: - type: object mapping: $. - name: read-feedback description: Read Feedback hints: readOnly: true destructive: false idempotent: true call: langchain-feedback.readfeedbackapiv1feedbackfeedbackidget with: feedback_id: tools.feedback_id include_user_names: tools.include_user_names outputParameters: - type: object mapping: $. - name: update-feedback description: Update Feedback hints: readOnly: false destructive: false idempotent: true call: langchain-feedback.updatefeedbackapiv1feedbackfeedbackidpatch with: feedback_id: tools.feedback_id body: tools.body outputParameters: - type: object mapping: $. - name: delete-feedback description: Delete Feedback hints: readOnly: false destructive: true idempotent: true call: langchain-feedback.deletefeedbackapiv1feedbackfeedbackiddelete with: feedback_id: tools.feedback_id outputParameters: - type: object mapping: $.