Skip to content
Specicon Specicon
Book a demo
API Reference

One endpoint to a decision.

Send a person and a context. Get back a match, a score and a reason you can print — in 18ms at p99.

base url api.specicon.ai/v1 auth Bearer key format JSON p99 18ms
Quickstart

First match in five minutes.

01

Get a key

Keys are issued per environment during your working session — sandbox first, production at go-live.

02

POST /v1/match

Send a user reference and any context you have. Identity resolution happens server-side.

03

Ship the reason too

The reason string is written for humans. Render it next to the match — that's where trust comes from.

curl
curl -X POST https://api.specicon.ai/v1/match \
  -H "Authorization: Bearer $SPECICON_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "user":    "barcode_id",
    "context": { "occasion": "date_night" }
  }'
POST /v1/match

The core decision call. Resolves the user's identity, matches it against Product DNA, ranks against your objective, and returns the winner with its reason.

Request fields
userstringYour user reference — we resolve it to a User Barcode™.
contextobjectOccasion, channel, budget band — anything the moment knows.
objectivestringOptional ranking objective: conversion (default), margin, retention.
candidatesintHow many ranked matches to return. Default 1, max 10.
Response fields
matchstringThe winning product reference.
scorefloatFit confidence, 0–1. Gate low-confidence surfaces on it.
reasonstringThe human-readable why. Same string on every surface.
200 OK · 18ms
{
  "match":      "Oud Velvet Noir",
  "score":      0.94,
  "reason":     "warm · evening · luxury — date-night optimal",
  "confidence": "high",
  "latency_ms": 18
}
GET/v1/identity/{user}

Inspect a resolved User Barcode™: dimension values (warmth, intent, value…), stability, and when it last updated. Useful for debugging and for your own dashboards.

POST/v1/feedback

Close the loop: send outcomes — accepted, converted, returned — and the feedback engine tunes future ranking. This is what makes week ten better than week one.

Errors

Predictable, explained failures.

401Missing or invalid API key.
404Unknown user or product reference.
422Context didn't validate — the error body names the field.
429Rate limit reached — headers carry your reset time.
Limits & environments

Scaled to your tier.

Rate limits and quotas follow your plan — Launch covers a pilot surface comfortably; Expand and Enterprise raise ceilings and add regional endpoints. Every plan gets a full-fidelity sandbox.

Every response carries the decision's latency and a request id, so your observability sees what ours sees.

Compare tiers