Skip to main content
A curated set of the API endpoints most users will touch, grouped by surface area. The middle column shows the SDK wrapper — if it’s , the endpoint is REST-only (use httpx directly).
This is a curated subset for quick reference, not a complete listing. The full surface is available in the API Reference tab to the left and in the underlying OpenAPI spec. For SDK wrappers, see also Frameworks.

Traces

MethodPathSDK wrapperDescription
POST/api/v1/tracesdecimalai.send() (auto via @trace)Ingest a trace
POST/api/v1/traces/batchIngest a batch of traces
GET/api/v1/tracesList traces
GET/api/v1/traces/{trace_id}Get a trace
GET/api/v1/traces/statsAggregate stats across traces

Evaluations

MethodPathSDK wrapperDescription
POST/api/v1/traces/{trace_id}/eval-scoreseval() / score() / push_*_scores()Push external evaluation scores
GET/api/v1/traces/{trace_id}/eval-scoresGet all evaluation scores for a trace
GET/api/v1/traces/{trace_id}/eval-breakdownget_eval_breakdown()Get full eval breakdown with provenance
GET/api/v1/traces/eval/statsEval rollup stats
POST/api/v1/traces/{trace_id}/evaluateRun evaluators on a trace
POST/api/v1/traces/{trace_id}/decisionCompute unified verdict for a trace
POST/api/v1/traces/batch-decisionBatch compute unified verdicts

Replay

MethodPathSDK wrapperDescription
POST/api/v1/replay/batchescreate_replay_batch()Create a replay batch
GET/api/v1/replay/batches/{batch_id}get_replay_batch()Get a replay batch
GET/api/v1/replay/exportget_replay_prompts()Export replay prompts
POST/api/v1/replay/tasks/{task_id}/submitsubmit_replay_result()Submit a replay task result

Skills

MethodPathSDK wrapperDescription
GET/api/v1/skillsSkillRouter.list_skills()List skills
POST/api/v1/skillsSkillRouter.create_skill()Create a skill
GET/api/v1/skills/{skill_name}SkillRouter.get_skill()Get a skill by name
PUT/api/v1/skills/{skill_id}SkillRouter.update_skill()Update a skill
DELETE/api/v1/skills/{skill_id}SkillRouter.delete_skill()Delete a skill (soft-delete)
GET/api/v1/skills/{skill_name}/versionsSkillRouter.list_versions()List versions of a skill
POST/api/v1/skills/syncSkillRouter.sync_skills()Bulk-upsert skills from local files
GET/api/v1/skills/menuSkillRouter.get_menu()Get the skill menu (Free tier)
POST/api/v1/skills/routeSkillRouter.smart_route()Smart-route a query to the best skill (Pro tier)
GET/api/v1/skills/exportSkillRouter.export_to_disk()Export org skills with full content
POST/api/v1/skills/{skill_name}/benchmark/runRun an A/B benchmark for a skill
GET/api/v1/skills/{skill_name}/benchmark/resultsGet benchmark results for a skill

Manifests

MethodPathSDK wrapperDescription
GET/api/v1/manifestsList manifests
GET/api/v1/manifests/{manifest_id}Get a manifest
POST/api/v1/manifestsregister_manifest()Register a manifest

Datasets

MethodPathSDK wrapperDescription
GET/api/v1/datasetsList datasets
POST/api/v1/datasetsCreate a dataset
GET/api/v1/datasets/{dataset_id}Get a dataset
POST/api/v1/datasets/{dataset_id}/buildBuild a new dataset version from traces
GET/api/v1/datasets/{dataset_id}/versions/{version_id}/exportpull_dataset() / load_hf_dataset()Export a dataset version

Agents

MethodPathSDK wrapperDescription
GET/api/v1/agentsList agents

Registry

MethodPathSDK wrapperDescription
GET/api/v1/registry/skillsBrowse the public skills registry
GET/api/v1/registry/skills/{skill_id}Get a registry skill
POST/api/v1/registry/skills/{skill_id}/forkFork a registry skill into your workspace (alias: /install, deprecated)
POST/api/v1/registry/skills/{skill_id}/rateRate a registry skill

Import

MethodPathSDK wrapperDescription
POST/api/v1/traces/import-bulkBulk-import historical traces
POST/api/v1/traces/importImport traces from a JSONL upload

REST-only helpers

Endpoints marked don’t yet have a top-level SDK wrapper. Call them with httpx against the REST API:
import httpx

resp = httpx.get(
    "https://api.decimal.ai/api/v1/datasets",
    headers={"Authorization": "Bearer dai_sk_..."},
)
resp.raise_for_status()
See Authentication for token formats and scopes.