Аутентификация
- Фактическое поведение
- Tenant-bound sandbox bearer
- Production gap
- Production IdP, rotation, service identities
OPENAPI 3.1 · ASYNCAPI 3.1 · LOCAL
CertaRail предоставляет control-plane API для decisions, evidence, policy, limits, review cases, sandbox trading и corporate treasury. Ни один endpoint не отправляет live order, payment, withdrawal или blockchain transfer.
START HERE
Compose-конфигурация поднимает локальную авторитетную запись.
Tenant определяется сервером; конфликтующий tenant отклоняется.
Повтор того же payload возвращает committed response; другой payload даёт 409.
Business outcome и audit evidence коммитятся атомарно.
External calls равны нулю; данные синтетические.
curl -X POST http://localhost:8080/v1/eligibility/evaluations \
-H "Authorization: Bearer <sandbox-bearer>" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: bank-order-000001" \
-d '{
"request_id": "bank-order-000001",
"tenant_id": "sandbox-bank",
"facts_observed_at": "2026-08-24T18:20:00Z",
"operation": "BUY",
"asset_code": "DEMO-BTC",
"amount": { "currency": "RUB", "minor_units": 25000000 },
"client": {
"subject_ref": "cust_7fd2",
"facts_version": "kyc-443",
"residency": "RU",
"investor_category": "RETAIL",
"kyc_status": "VERIFIED",
"screening_status": "CLEAR",
"knowledge_test": {
"passed": true,
"passed_at": "2026-08-01T00:00:00Z",
"valid_until": "2027-08-01T00:00:00Z"
},
"risk_disclosure": {
"accepted": true,
"version": "sandbox-risk-v1",
"accepted_at": "2026-08-24T18:15:00Z"
},
"annual_volume": { "currency": "RUB", "minor_units": 10000000 }
},
"intermediary": { "kind": "BROKER", "regulated": true }
}'MACHINE SOURCES
PROTOCOL BEHAVIOR
| Область | Фактическое поведение | Production gap |
|---|---|---|
| Аутентификация | Tenant-bound sandbox bearer | Production IdP, rotation, service identities |
| Идемпотентность | Stable replay; payload conflict → 409 | Shared durable policy across external commands |
| Ошибки | Strict JSON; 400/401/403/409/415/429/503 | Partner-specific observability and support routing |
| Rate limits | In-flight backpressure; Retry-After where documented | Edge quotas and contractual limits |
| Events | Transactional outbox, at-least-once, event_id dedupe | TLS/SASL/ACL and external delivery |
| Webhooks | Signed checkout envelope, tenant-scoped Inbox, subscription rotation, test events, bounded/manual retry | External production HTTPS delivery, production secrets, UAT |
| SDK | TypeScript, Python и Go SDK 0.1.0 source packages; local package/module gates | Public npm/PyPI/Go module distribution, provenance attestation, owner approval |
Поведение API CertaRail
Аутентификация
Идемпотентность
Ошибки
Rate limits
Events
Webhooks
SDK
Передавайте subject references, а не персональные данные, если контракт не требует иного.
После timeout повторяйте тот же idempotency key и payload, а не создавайте новый intent.
Decision, order draft или provider observation не доказывают движение денег или актива.
СЛЕДУЮЩИЙ ШАГ
Developer Console использует synthetic fixtures: запрос создаёт проверяемую запись, но не вызывает внешнего провайдера.
Сделать первый API-запрос