LangChain · Capability
LangSmith — runs
LangSmith — runs. 7 operations. Lead operation: Create a Run. Self-contained Naftiko capability covering one Langchain business surface.
What You Can Do
POST
Post
— Create a Run
/v1/runs
POST
Post
— Ingest Runs (Batch JSON)
/v1/runs/batch
POST
Post
— Ingest Runs (Multipart)
/v1/runs/multipart
PATCH
Patch
— Update a Run
/v1/runs/{run-id}
POST
Post
— Query runs
/v1/v2/runs/query
GET
Get
— Get a single run
/v1/v2/runs/{run-id}
GET
Get
— List runs in a trace
/v1/v2/traces/{trace-id}/runs
MCP Tools
create-run
Create a Run
ingest-runs-batch-json
Ingest Runs (Batch JSON)
ingest-runs-multipart
Ingest Runs (Multipart)
update-run
Update a Run
idempotent
query-runs
Query runs
read-only
get-single-run
Get a single run
read-only
idempotent
list-runs-trace
List runs in a trace
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: LangSmith — runs
description: 'LangSmith — runs. 7 operations. Lead operation: Create a Run. Self-contained Naftiko capability covering one
Langchain business surface.'
tags:
- Langchain
- runs
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
LANGCHAIN_API_KEY: LANGCHAIN_API_KEY
capability:
consumes:
- type: http
namespace: langchain-runs
baseUri: ''
description: LangSmith — runs business capability. Self-contained, no shared references.
resources:
- name: runs
path: /runs
operations:
- name: post
method: POST
description: Create a Run
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: runs-batch
path: /runs/batch
operations:
- name: post
method: POST
description: Ingest Runs (Batch JSON)
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: runs-multipart
path: /runs/multipart
operations:
- name: post
method: POST
description: Ingest Runs (Multipart)
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: runs-run_id
path: /runs/{run_id}
operations:
- name: patch
method: PATCH
description: Update a Run
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: run_id
in: path
type: string
description: Run ID
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: v2-runs-query
path: /v2/runs/query
operations:
- name: post
method: POST
description: Query runs
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: Accept
in: header
type: string
description: application/json
- name: Content-Type
in: header
type: string
description: application/json (required for JSON body)
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: v2-runs-run_id
path: /v2/runs/{run_id}
operations:
- name: get
method: GET
description: Get a single run
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: Accept
in: header
type: string
description: application/json
- name: run_id
in: path
type: string
description: Run UUID
required: true
- name: project_id
in: query
type: string
description: '`project_id` is the UUID of the tracing project that owns the run.'
required: true
- name: selects
in: query
type: array
description: '`selects` lists which properties to include on the returned run (repeatable query parameter). Accepts
any value of the `RunSelectField` enum. If omitted, only `'
- name: start_time
in: query
type: string
description: '`start_time` is the run''s `start_time` (RFC3339 date-time), used together with `project_id` to locate
the run.'
required: true
- name: v2-traces-trace_id-runs
path: /v2/traces/{trace_id}/runs
operations:
- name: get
method: GET
description: List runs in a trace
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: Accept
in: header
type: string
description: application/json
- name: trace_id
in: path
type: string
description: Trace UUID
required: true
- name: filter
in: query
type: string
description: '`filter` narrows which runs within this trace are returned, using a LangSmith filter expression evaluated
against each run. For example: `eq(run_type, "llm")` f'
- name: max_start_time
in: query
type: string
description: '`max_start_time` is the inclusive upper bound for run `start_time` (RFC3339 date-time).'
required: true
- name: min_start_time
in: query
type: string
description: '`min_start_time` is the inclusive lower bound for run `start_time` (RFC3339 date-time).'
required: true
- name: project_id
in: query
type: string
description: '`project_id` is the UUID of the tracing project that owns the trace.'
required: true
- name: selects
in: query
type: array
description: '`selects` lists which properties to include on each returned run (repeatable query parameter). Accepts
any value of the `RunSelectField` enum. If omitted, only '
authentication:
type: bearer
token: '{{env.LANGCHAIN_API_KEY}}'
exposes:
- type: rest
namespace: langchain-runs-rest
port: 8080
description: REST adapter for LangSmith — runs. One Spectral-compliant resource per consumed operation, prefixed with
/v1.
resources:
- path: /v1/runs
name: runs
description: REST surface for runs.
operations:
- method: POST
name: post
description: Create a Run
call: langchain-runs.post
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/runs/batch
name: runs-batch
description: REST surface for runs-batch.
operations:
- method: POST
name: post
description: Ingest Runs (Batch JSON)
call: langchain-runs.post
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/runs/multipart
name: runs-multipart
description: REST surface for runs-multipart.
operations:
- method: POST
name: post
description: Ingest Runs (Multipart)
call: langchain-runs.post
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/runs/{run-id}
name: runs-run-id
description: REST surface for runs-run_id.
operations:
- method: PATCH
name: patch
description: Update a Run
call: langchain-runs.patch
with:
run_id: rest.run_id
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/v2/runs/query
name: v2-runs-query
description: REST surface for v2-runs-query.
operations:
- method: POST
name: post
description: Query runs
call: langchain-runs.post
with:
Accept: rest.Accept
Content-Type: rest.Content-Type
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/v2/runs/{run-id}
name: v2-runs-run-id
description: REST surface for v2-runs-run_id.
operations:
- method: GET
name: get
description: Get a single run
call: langchain-runs.get
with:
Accept: rest.Accept
run_id: rest.run_id
project_id: rest.project_id
selects: rest.selects
start_time: rest.start_time
outputParameters:
- type: object
mapping: $.
- path: /v1/v2/traces/{trace-id}/runs
name: v2-traces-trace-id-runs
description: REST surface for v2-traces-trace_id-runs.
operations:
- method: GET
name: get
description: List runs in a trace
call: langchain-runs.get
with:
Accept: rest.Accept
trace_id: rest.trace_id
filter: rest.filter
max_start_time: rest.max_start_time
min_start_time: rest.min_start_time
project_id: rest.project_id
selects: rest.selects
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: langchain-runs-mcp
port: 9090
transport: http
description: MCP adapter for LangSmith — runs. One tool per consumed operation, routed inline through this capability's
consumes block.
tools:
- name: create-run
description: Create a Run
hints:
readOnly: false
destructive: false
idempotent: false
call: langchain-runs.post
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: ingest-runs-batch-json
description: Ingest Runs (Batch JSON)
hints:
readOnly: false
destructive: false
idempotent: false
call: langchain-runs.post
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: ingest-runs-multipart
description: Ingest Runs (Multipart)
hints:
readOnly: false
destructive: false
idempotent: false
call: langchain-runs.post
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: update-run
description: Update a Run
hints:
readOnly: false
destructive: false
idempotent: true
call: langchain-runs.patch
with:
run_id: tools.run_id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: query-runs
description: Query runs
hints:
readOnly: true
destructive: false
idempotent: false
call: langchain-runs.post
with:
Accept: tools.Accept
Content-Type: tools.Content-Type
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: get-single-run
description: Get a single run
hints:
readOnly: true
destructive: false
idempotent: true
call: langchain-runs.get
with:
Accept: tools.Accept
run_id: tools.run_id
project_id: tools.project_id
selects: tools.selects
start_time: tools.start_time
outputParameters:
- type: object
mapping: $.
- name: list-runs-trace
description: List runs in a trace
hints:
readOnly: true
destructive: false
idempotent: true
call: langchain-runs.get
with:
Accept: tools.Accept
trace_id: tools.trace_id
filter: tools.filter
max_start_time: tools.max_start_time
min_start_time: tools.min_start_time
project_id: tools.project_id
selects: tools.selects
outputParameters:
- type: object
mapping: $.