createClient(), then use the resource methods below. Each method links to its SDK reference with parameters, return fields, and examples.
listAll* methods iterate every page; listPage and other page methods return one page. See Pagination.
Use waitFor to wait for supported jobs to finish.
Signatures show argument names: ? marks an optional property, square brackets mark an optional argument, and | separates accepted object shapes. Promise<T> resolves to T; AsyncGenerator<T> yields T values; iterate it with for await.
Account
| SDK signature and return type | What it does | Endpoint |
|---|---|---|
client.me()→ Promise<CurrentUser> | Get the current user | GET /me |
Projects
Datasets
Dataset uploads
| SDK signature and return type | What it does | Endpoint |
|---|---|---|
client.datasets.startUpload({ datasetId, filename, format?, declaredSizeBytes, fields? })→ Promise<{ job: UploadJob; uploadUrl: string }> | Start a dataset file upload | POST /datasets/{datasetId}/uploads |
client.datasets.finalizeUpload({ uploadId })→ Promise<UploadJob> | Finalize a dataset file upload | POST /uploads/{uploadId}/finalize |
client.datasets.cancelUpload({ uploadId })→ Promise<void> | Cancel a dataset upload | POST /uploads/{uploadId}/cancel |
client.datasets.getUpload({ uploadId })→ Promise<UploadJob> | Get a dataset upload | GET /uploads/{uploadId} |
Dataset exports
| SDK signature and return type | What it does | Endpoint |
|---|---|---|
client.datasets.startExport({ datasetId, format?, fields })→ Promise<ExportJob> | Start a dataset export | POST /datasets/{datasetId}/exports |
client.datasets.getExport({ exportId })→ Promise<ExportJob> | Get a dataset export | GET /exports/{exportId} |
Pipelines
Pipeline graph
| SDK signature and return type | What it does | Endpoint |
|---|---|---|
client.pipelines.getGraph({ pipelineId })→ Promise<PipelineGraphSnapshot> | Get the pipeline graph | GET /pipelines/{pipelineId}/graph |
client.pipelines.replaceGraph({ pipelineId, graph, expectedVersion? } | { pipelineId, graph, version, invalidFieldSchemas })→ Promise<Pipeline> | Replace the pipeline graph | PUT /pipelines/{pipelineId}/graph |
client.pipelines.validateGraph({ pipelineId, graph })→ Promise<{ valid: boolean; issues: PipelineValidationIssue[]; checks: CheckJob[] }> | Validate a pipeline graph | POST /pipelines/{pipelineId}/graph/validate |
client.pipelines.patchNode({ pipelineId, expectedVersion?, nodeId, settings })→ Promise<Pipeline> | Update a pipeline node | PATCH /pipelines/{pipelineId}/graph/nodes/{nodeId} |
Runs
| SDK signature and return type | What it does | Endpoint |
|---|---|---|
client.runs.start({ pipelineId })→ Promise<RunJob> | Start a pipeline run | POST /pipelines/{pipelineId}/runs |
client.runs.get({ runId })→ Promise<RunJob> | Get a pipeline run | GET /runs/{runId} |
client.runs.cancel({ runId, pendingHumanQa? })→ Promise<RunJob> | Cancel a pipeline run | POST /runs/{runId}/cancel |
client.runs.listPage({ pipelineId, limit?, offset? })→ Promise<{ runs: RunSummary[]; pagination: Pagination }> | List pipeline runs | GET /pipelines/{pipelineId}/runs |
client.runs.listAll({ pipelineId, limit?, offset? })→ AsyncGenerator<RunSummary> | List pipeline runs | GET /pipelines/{pipelineId}/runs |
client.runs.listItemsPage({ runId, limit?, offset? })→ Promise<{ items: RunItem[]; pagination: Pagination }> | List run items | GET /runs/{runId}/items |
client.runs.listAllItems({ runId, limit?, offset? })→ AsyncGenerator<RunItem> | List run items | GET /runs/{runId}/items |
client.runs.getItem({ runId, itemId })→ Promise<RunItem> | Get a run item | GET /runs/{runId}/items/{itemId} |
Checks
| SDK signature and return type | What it does | Endpoint |
|---|---|---|
client.checks.list({ pipelineId })→ Promise<CheckJob[]> | List pipeline checks | GET /pipelines/{pipelineId}/checks |
client.checks.start({ pipelineId, nodeId, checkId })→ Promise<CheckJob> | Start a pipeline check | POST /pipelines/{pipelineId}/checks |
client.checks.get({ checkRunId })→ Promise<CheckJob> | Get a pipeline check | GET /checks/{checkRunId} |
client.checks.runLints({ pipelineId })→ Promise<{ checks: CheckJob[]; rejected: { nodeId: string; checkId: string; message: string }[]; nodesInUse: string[] }> | Run pipeline lints | POST /pipelines/{pipelineId}/lints |
Secrets
| SDK signature and return type | What it does | Endpoint |
|---|---|---|
client.secrets.list({ projectId })→ Promise<ProjectSecret[]> | List project secret names | GET /projects/{projectId}/secrets |
client.secrets.set({ projectId, name, value })→ Promise<ProjectSecret> | Set a project secret | PUT /projects/{projectId}/secrets/{name} |
Files
| SDK signature and return type | What it does | Endpoint |
|---|---|---|
client.files.list({ projectId })→ Promise<ProjectFile[]> | List project files | GET /projects/{projectId}/files |
client.files.startUpload({ projectId, filename, declaredSizeBytes })→ Promise<{ file: ProjectFile; uploadUrl: string }> | Start a project file upload | POST /projects/{projectId}/files |
client.files.finalizeUpload({ projectId, fileId })→ Promise<ProjectFile> | Finalize a project file upload | POST /projects/{projectId}/files/{fileId}/finalize |
client.files.delete({ projectId, fileId })→ Promise<void> | Delete a project file | DELETE /projects/{projectId}/files/{fileId} |
Generation models
| SDK signature and return type | What it does | Endpoint |
|---|---|---|
client.generationModels.list()→ Promise<{ defaultGenerationModelId: "gpt-5.6-terra" | "gpt-5.6-luna" | "gpt-5.4" | "gpt-5.4-mini" | "claude-sonnet-4-6" | "gemini-3.1-pro-preview" | "gemini-3.5-flash" | "gemini-3.7-flash" | "claude-sonnet-5" | "claude-opus-5" | "claude-fable-5" | "gpt-5.6-sol"; generationModels: GenerationModel[] }> | List synthetic generation models | GET /generation-models |
Audience
| SDK signature and return type | What it does | Endpoint |
|---|---|---|
client.audience.specializations.listPage([{ limit?, offset? }])→ Promise<{ specializations: Specialization[]; pagination: Pagination }> | List expert specializations | GET /audience/specializations |
client.audience.specializations.listAll([{ limit?, offset? }])→ AsyncGenerator<Specialization> | List expert specializations | GET /audience/specializations |
Expert lists
Expert ban list
| SDK signature and return type | What it does | Endpoint |
|---|---|---|
client.expertBanList.get({ projectId })→ Promise<ExpertBanListDetails> | Get the expert ban list of a project | GET /projects/{projectId}/expert-ban-list |
client.expertBanList.listExpertsPage({ projectId, after?, limit? })→ Promise<{ experts: ExpertBanListExpert[]; nextAfter: null | string }> | List the experts of the expert ban list | GET /projects/{projectId}/expert-ban-list/experts |
client.expertBanList.addExperts({ projectId, expertIds, reason })→ Promise<ExpertChangeResult> | Ban experts in a project | POST /projects/{projectId}/expert-ban-list/experts/add |
client.expertBanList.removeExperts({ projectId, expertIds })→ Promise<ExpertChangeResult> | Unban experts in a project | POST /projects/{projectId}/expert-ban-list/experts/remove |
Base models
| SDK signature and return type | What it does | Endpoint |
|---|---|---|
client.baseModels.list()→ Promise<BaseModel[]> | List base models | GET /base-models |
client.baseModels.get({ id })→ Promise<BaseModel> | Get a base model | GET /base-models/{baseModelId} |