naftiko: 1.0.0-alpha2 info: label: LangSmith — examples description: 'LangSmith — examples. 15 operations. Lead operation: Read Examples. Self-contained Naftiko capability covering one Langsmith business surface.' tags: - Langsmith - examples created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: LANGSMITH_API_KEY: LANGSMITH_API_KEY capability: consumes: - type: http namespace: langsmith-examples baseUri: '' description: LangSmith — examples business capability. Self-contained, no shared references. resources: - name: api-v1-examples path: /api/v1/examples operations: - name: readexamplesapiv1examplesget method: GET description: Read Examples outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: query type: string - name: as_of in: query type: string description: Only modifications made on or before this time are included. If None, the latest version of the dataset is used. - name: metadata in: query type: string - name: full_text_contains in: query type: string - name: splits in: query type: string - name: dataset in: query type: string - name: offset in: query type: integer - name: limit in: query type: integer - name: order in: query type: string - name: random_seed in: query type: string - name: select in: query type: array - name: descending in: query type: string - name: filter in: query type: string - name: createexampleapiv1examplespost method: POST description: Create Example outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: deleteexamplesapiv1examplesdelete method: DELETE description: Delete Examples outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: example_ids in: query type: array required: true - name: api-v1-examples-bulk path: /api/v1/examples/bulk operations: - name: createexamplesapiv1examplesbulkpost method: POST description: Create Examples outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: legacyupdateexamplesapiv1examplesbulkpatch method: PATCH description: Legacy Update Examples outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-v1-examples-count path: /api/v1/examples/count operations: - name: countexamplesapiv1examplescountget method: GET description: Count Examples outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: query type: string - name: as_of in: query type: string description: Only modifications made on or before this time are included. If None, the latest version of the dataset is used. - name: metadata in: query type: string - name: full_text_contains in: query type: string - name: splits in: query type: string - name: dataset in: query type: string - name: filter in: query type: string - name: api-v1-examples-upload-dataset_id path: /api/v1/examples/upload/{dataset_id} operations: - name: uploadexamplesfromcsvapiv1examplesuploaddatasetidpost method: POST description: Upload Examples From Csv outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: dataset_id in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: api-v1-examples-validate path: /api/v1/examples/validate operations: - name: validateexampleapiv1examplesvalidatepost method: POST description: Validate Example outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v1-examples-validate-bulk path: /api/v1/examples/validate/bulk operations: - name: validateexamplesapiv1examplesvalidatebulkpost method: POST description: Validate Examples outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v1-examples-example_id path: /api/v1/examples/{example_id} operations: - name: readexampleapiv1examplesexampleidget method: GET description: Read Example outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: example_id in: path type: string required: true - name: as_of in: query type: string description: Only modifications made on or before this time are included. If None, the latest version of the dataset is used. - name: dataset in: query type: string - name: updateexampleapiv1examplesexampleidpatch method: PATCH description: Update Example outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: example_id in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: deleteexampleapiv1examplesexampleiddelete method: DELETE description: Delete Example outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: example_id in: path type: string required: true - name: v1-platform-datasets-examples-delete path: /v1/platform/datasets/examples/delete operations: - name: post method: POST description: Hard Delete Examples outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-platform-datasets-dataset_id-examples path: /v1/platform/datasets/{dataset_id}/examples operations: - name: post method: POST description: Upload Examples outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: dataset_id in: path type: string description: Dataset ID required: true - name: body in: body type: object description: Request body (JSON). required: true - name: patch method: PATCH description: Update Examples outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: dataset_id in: path type: string description: Dataset ID required: true - name: body in: body type: object description: Request body (JSON). required: true authentication: type: bearer token: '{{env.LANGSMITH_API_KEY}}' exposes: - type: rest namespace: langsmith-examples-rest port: 8080 description: REST adapter for LangSmith — examples. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/v1/examples name: api-v1-examples description: REST surface for api-v1-examples. operations: - method: GET name: readexamplesapiv1examplesget description: Read Examples call: langsmith-examples.readexamplesapiv1examplesget with: id: rest.id as_of: rest.as_of metadata: rest.metadata full_text_contains: rest.full_text_contains splits: rest.splits dataset: rest.dataset offset: rest.offset limit: rest.limit order: rest.order random_seed: rest.random_seed select: rest.select descending: rest.descending filter: rest.filter outputParameters: - type: object mapping: $. - method: POST name: createexampleapiv1examplespost description: Create Example call: langsmith-examples.createexampleapiv1examplespost with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteexamplesapiv1examplesdelete description: Delete Examples call: langsmith-examples.deleteexamplesapiv1examplesdelete with: example_ids: rest.example_ids outputParameters: - type: object mapping: $. - path: /v1/api/v1/examples/bulk name: api-v1-examples-bulk description: REST surface for api-v1-examples-bulk. operations: - method: POST name: createexamplesapiv1examplesbulkpost description: Create Examples call: langsmith-examples.createexamplesapiv1examplesbulkpost with: body: rest.body outputParameters: - type: object mapping: $. - method: PATCH name: legacyupdateexamplesapiv1examplesbulkpatch description: Legacy Update Examples call: langsmith-examples.legacyupdateexamplesapiv1examplesbulkpatch with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v1/examples/count name: api-v1-examples-count description: REST surface for api-v1-examples-count. operations: - method: GET name: countexamplesapiv1examplescountget description: Count Examples call: langsmith-examples.countexamplesapiv1examplescountget with: id: rest.id as_of: rest.as_of metadata: rest.metadata full_text_contains: rest.full_text_contains splits: rest.splits dataset: rest.dataset filter: rest.filter outputParameters: - type: object mapping: $. - path: /v1/api/v1/examples/upload/{dataset-id} name: api-v1-examples-upload-dataset-id description: REST surface for api-v1-examples-upload-dataset_id. operations: - method: POST name: uploadexamplesfromcsvapiv1examplesuploaddatasetidpost description: Upload Examples From Csv call: langsmith-examples.uploadexamplesfromcsvapiv1examplesuploaddatasetidpost with: dataset_id: rest.dataset_id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v1/examples/validate name: api-v1-examples-validate description: REST surface for api-v1-examples-validate. operations: - method: POST name: validateexampleapiv1examplesvalidatepost description: Validate Example call: langsmith-examples.validateexampleapiv1examplesvalidatepost outputParameters: - type: object mapping: $. - path: /v1/api/v1/examples/validate/bulk name: api-v1-examples-validate-bulk description: REST surface for api-v1-examples-validate-bulk. operations: - method: POST name: validateexamplesapiv1examplesvalidatebulkpost description: Validate Examples call: langsmith-examples.validateexamplesapiv1examplesvalidatebulkpost outputParameters: - type: object mapping: $. - path: /v1/api/v1/examples/{example-id} name: api-v1-examples-example-id description: REST surface for api-v1-examples-example_id. operations: - method: GET name: readexampleapiv1examplesexampleidget description: Read Example call: langsmith-examples.readexampleapiv1examplesexampleidget with: example_id: rest.example_id as_of: rest.as_of dataset: rest.dataset outputParameters: - type: object mapping: $. - method: PATCH name: updateexampleapiv1examplesexampleidpatch description: Update Example call: langsmith-examples.updateexampleapiv1examplesexampleidpatch with: example_id: rest.example_id body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteexampleapiv1examplesexampleiddelete description: Delete Example call: langsmith-examples.deleteexampleapiv1examplesexampleiddelete with: example_id: rest.example_id outputParameters: - type: object mapping: $. - path: /v1/v1/platform/datasets/examples/delete name: v1-platform-datasets-examples-delete description: REST surface for v1-platform-datasets-examples-delete. operations: - method: POST name: post description: Hard Delete Examples call: langsmith-examples.post with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/platform/datasets/{dataset-id}/examples name: v1-platform-datasets-dataset-id-examples description: REST surface for v1-platform-datasets-dataset_id-examples. operations: - method: POST name: post description: Upload Examples call: langsmith-examples.post with: dataset_id: rest.dataset_id body: rest.body outputParameters: - type: object mapping: $. - method: PATCH name: patch description: Update Examples call: langsmith-examples.patch with: dataset_id: rest.dataset_id body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: langsmith-examples-mcp port: 9090 transport: http description: MCP adapter for LangSmith — examples. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: read-examples description: Read Examples hints: readOnly: true destructive: false idempotent: true call: langsmith-examples.readexamplesapiv1examplesget with: id: tools.id as_of: tools.as_of metadata: tools.metadata full_text_contains: tools.full_text_contains splits: tools.splits dataset: tools.dataset offset: tools.offset limit: tools.limit order: tools.order random_seed: tools.random_seed select: tools.select descending: tools.descending filter: tools.filter outputParameters: - type: object mapping: $. - name: create-example description: Create Example hints: readOnly: false destructive: false idempotent: false call: langsmith-examples.createexampleapiv1examplespost with: body: tools.body outputParameters: - type: object mapping: $. - name: delete-examples description: Delete Examples hints: readOnly: false destructive: true idempotent: true call: langsmith-examples.deleteexamplesapiv1examplesdelete with: example_ids: tools.example_ids outputParameters: - type: object mapping: $. - name: create-examples description: Create Examples hints: readOnly: false destructive: false idempotent: false call: langsmith-examples.createexamplesapiv1examplesbulkpost with: body: tools.body outputParameters: - type: object mapping: $. - name: legacy-update-examples description: Legacy Update Examples hints: readOnly: false destructive: false idempotent: true call: langsmith-examples.legacyupdateexamplesapiv1examplesbulkpatch with: body: tools.body outputParameters: - type: object mapping: $. - name: count-examples description: Count Examples hints: readOnly: true destructive: false idempotent: true call: langsmith-examples.countexamplesapiv1examplescountget with: id: tools.id as_of: tools.as_of metadata: tools.metadata full_text_contains: tools.full_text_contains splits: tools.splits dataset: tools.dataset filter: tools.filter outputParameters: - type: object mapping: $. - name: upload-examples-csv description: Upload Examples From Csv hints: readOnly: false destructive: false idempotent: false call: langsmith-examples.uploadexamplesfromcsvapiv1examplesuploaddatasetidpost with: dataset_id: tools.dataset_id body: tools.body outputParameters: - type: object mapping: $. - name: validate-example description: Validate Example hints: readOnly: true destructive: false idempotent: false call: langsmith-examples.validateexampleapiv1examplesvalidatepost outputParameters: - type: object mapping: $. - name: validate-examples description: Validate Examples hints: readOnly: true destructive: false idempotent: false call: langsmith-examples.validateexamplesapiv1examplesvalidatebulkpost outputParameters: - type: object mapping: $. - name: read-example description: Read Example hints: readOnly: true destructive: false idempotent: true call: langsmith-examples.readexampleapiv1examplesexampleidget with: example_id: tools.example_id as_of: tools.as_of dataset: tools.dataset outputParameters: - type: object mapping: $. - name: update-example description: Update Example hints: readOnly: false destructive: false idempotent: true call: langsmith-examples.updateexampleapiv1examplesexampleidpatch with: example_id: tools.example_id body: tools.body outputParameters: - type: object mapping: $. - name: delete-example description: Delete Example hints: readOnly: false destructive: true idempotent: true call: langsmith-examples.deleteexampleapiv1examplesexampleiddelete with: example_id: tools.example_id outputParameters: - type: object mapping: $. - name: hard-delete-examples description: Hard Delete Examples hints: readOnly: false destructive: false idempotent: false call: langsmith-examples.post with: body: tools.body outputParameters: - type: object mapping: $. - name: upload-examples description: Upload Examples hints: readOnly: false destructive: false idempotent: false call: langsmith-examples.post with: dataset_id: tools.dataset_id body: tools.body outputParameters: - type: object mapping: $. - name: update-examples description: Update Examples hints: readOnly: false destructive: false idempotent: true call: langsmith-examples.patch with: dataset_id: tools.dataset_id body: tools.body outputParameters: - type: object mapping: $.