Developer Platform
Nyckel exposes machine learning capabilities as managed REST API functions. Each function encapsulates the full ML pipeline — model selection, training, inference, annotation, and continuous improvement — behind a single stable endpoint your application calls synchronously.
The platform has three integrated components:
- Create and manage functions via REST API or console
- Ingest the real-time invoke stream from your application
- Low-latency inference endpoints with global routing
- Per-function monitoring: request volume, latency, error rates, confidence distribution
- Benchmarks multiple model architectures against your data automatically
- Selects and promotes the best-performing model without intervention
- Surfaces training data recommendations — identifies which unlabeled samples would most improve accuracy
- Continuous retraining as annotations accumulate (AutoML)
- Web UI for domain experts to log in and review predictions
- Review queue surfaces low-confidence and disputed predictions first
- Corrections are immediately routed to the ML engine as labeled training samples
- Supports multiple reviewers per function with audit trail
Function types
Nyckel supports three categories of ML function. All share the same authentication, lifecycle management, and annotation API. For an introduction to what each type does and when to pick one over another, see Functions in Concepts — the table below focuses on the request/response contract.
| Function type | Accepted input | Response schema | Common use cases |
|---|---|---|---|
| Classification | Image, Text, or Tabular | { labelName, confidence, sampleId } |
Content moderation, intent detection, spam filtering, document routing, sentiment analysis, medical triage |
| Detection | Image | [{ labelName, confidence, boundingBox }] |
Object detection, defect detection, logo presence, face detection, inventory counting |
| Semantic search | Text or Image corpus | Ranked list of corpus items by similarity score | Nearest-neighbor lookup, deduplication, recommendation, semantic retrieval |
Core API pattern
Every function exposes two primary operations: invoke and annotate.
Invoke — Send an input, receive a synchronous prediction. Latency is typically under 200 ms for text and tabular inputs; image inputs vary by resolution. The response always includes a label, a confidence score (0–1), and a sampleId you can use to submit a correction.
Annotate — Send the correct label for a previous invocation by referencing its sampleId. Annotations feed the retraining pipeline. This step is optional, but functions that receive consistent annotation feedback improve measurably in production over time.
Invoke
POST https://www.nyckel.com/v1/functions/{functionId}/invoke
Authorization: Bearer {token}
Content-Type: application/json
{ "data": "<input>" }
{
"labelName": "spam",
"confidence": 0.94,
"sampleId": "smp_abc123"
}
Annotate
POST https://www.nyckel.com/v1/functions/{functionId}/samples/{sampleId}/annotation
Authorization: Bearer {token}
Content-Type: application/json
{ "labelName": "not-spam" }
Store the sampleId from every invoke response. It is required to submit annotations and is the join key between your application’s event log and Nyckel’s training pipeline.
Model management
Nyckel handles the full model lifecycle without configuration:
- Selection — Nyckel evaluates multiple architectures and selects the best performer for your input type and label distribution.
- Training — Models train incrementally as labeled samples and annotations accumulate. There is no explicit trigger — the pipeline runs continuously.
- Versioning — The invoke endpoint always routes to the current best model. Previous model versions are retained and accessible via the console.
- Evaluation — Accuracy is measured continuously on a held-out split of your labeled samples. Current accuracy and per-label metrics are queryable via the API.
Confidence scores
Every invoke response includes a confidence value from 0.0 to 1.0 — a calibrated probability you use to decide whether to act on the prediction automatically or route it for review.
For what the number means and how to interpret it, see Confidence scores. For starting thresholds and the three-zone routing pattern in code, see Tuning confidence thresholds.
Authentication
All requests require a Bearer token.
Authorization: Bearer {token}
Tokens are workspace-scoped and can be rotated without downtime. See Authentication for generation and rotation details.
Base URL
https://www.nyckel.com/v1/
The API is versioned at the path level. v1 is the current stable version. All endpoints in this guide are relative to this base URL.