SKOOR

Reference

API Documentation

All SKOOR endpoints. Base URL: https://api.agentfinancial.ai

Authentication

Authenticated endpoints require an API key passed via the X-API-Key header or api_key query parameter.

curl -H "X-API-Key: sk_live_YOUR_KEY" https://api.agentfinancial.ai/v1/agents/0x.../credit-score

Rate Limits

TierPublicStarterProEnterprise
Calls/day10 (IP)10010,000Unlimited
Batch size1001,000
Proofs/day100Unlimited

Public (No Auth Required)

GET/v1/public/credit-score/:address

Get any agent's score. Rate limited: 10/min per IP.

{ agentId, score, tier, layer, ceiling, components, reasons, computedAt, trend }

GET/v1/public/credit-score/:address/badge.svg

Embeddable SVG badge. 5-min cache.

SVG image

GET/v1/skoor/analytics/distribution

Platform-wide score distribution. 1-hr cache.

{ totalAgents, mean, median, percentiles, tierDistribution }

GET/v1/skoor/analytics/leaderboard?limit=25

Top agents by score (1-100).

{ agents: [{ agentId, score, tier, rank }], totalAgents }

GET/v1/skoor/analytics/percentile/:agentId

Agent's percentile rank.

{ percentileRank, topPercent, totalAgents }

POST/v1/skoor/verify

Verify a signed JWT proof. Body: { proof: string }

{ valid, agentId, score, tier, computedAt, expiresAt } or { valid: false, error }

GET/v1/skoor/spec

Full scoring specification (factors, tiers, layers, decay).

{ name, factors[], tiers[], coldStartLayers[], decay, verification }

GET/.well-known/skoor-jwks.json

RSA public keys for JWT verification.

{ keys: [{ kty, n, e, kid, alg, use }] }

GET/.well-known/skoor-spec.json

Quick metadata discovery.

{ name, version, scoreRange, factors, tiers }

Authenticated (X-API-Key Required)

GET/v1/agents/:agentId/credit-score

Full score with components and reasons.

{ agentId, score, tier, layer, components, reasons, computedAt, trend }

GET/v1/agents/:agentId/credit-score/summary

Lightweight score summary.

{ score, tier, computedAt }

GET/v1/agents/:agentId/credit-score/history?days=30

Score history (1-365 days).

{ agentId, days, snapshots[] }

POST/v1/agents/credit-scores

Batch lookup (max 100). Body: { agentIds: string[] }

{ scores: [{ agentId, score, tier, computedAt }] }

POST/v1/agents/:agentId/credit-score/refresh

Force recompute. Rate limit: 1/min per agent.

Full score object

GET/v1/skoor/proof/:agentId

Generate signed JWT proof. 100/day per agent.

{ proof, proofId, expiresAt }

GET/v1/skoor/report/:agentId?period=90d

Full credit report (history, transitions, milestones).

{ currentScore, previousScore, trend, transitions[], milestones[], factors[], percentile }

Error Codes

400Bad request — invalid address format or missing parameters
401Unauthorized — missing or invalid API key
404Agent not found — no score exists for this address
429Rate limited — too many requests
500Internal error — retry with exponential backoff