Make your first decision request in 5 minutes
EPVANTA turns fragmented media signals into executable decisions. Follow these steps to submit a test event, run attribution in Sandbox, and retrieve a decision.
- Time
- 5 minutes
- Environment
- Sandbox
- Last updated
- 2026-07-17
- 1
- 2
Send a test event
Send an event to /v1/events. The Live Runner contains a ready-to-use request.
- 3
Run attribution
After ingestion, call /v1/attribution/runs to start a run with an optional decision policy.
- 4
Retrieve the decision
Retrieve an executable recommendation from /v1/decisions/{decision_id}, or receive it by webhook.
From test event to production path
EPVANTA uses one stable contract across events, attribution, decisions, and delivery, with explicit versions, permissions, and observable state.
Clear boundaries from Sandbox to production.
Environments, credentials, permissions, and regional routing remain isolated. Validate the complete workflow before touching production data.
Sandbox project
Use test credentials and seven-day data retention to validate end-to-end integration.
Instant creation · no production dataScoped credentials
Assign least privilege by project, environment, and operation.
Signed delivery
Verify every server submission and callback with signatures.
Region routing
Keep data in approved processing regions according to policy.
Audit trail
Record changes to credentials, policies, schemas, and releases.
Events and signals
Events are the smallest input unit. Each event includes stable identity, event time, source, and idempotency before entering attribution.
stringrequiredBusiness event name
timestamprequiredTime the event occurred
stringrequiredStable business identity
objectoptionalChannel and business context
Attribution models
Run attribution with explicit windows, identity rules, regions, and governance parameters in realtime or batch.
/v1/attribution/runs{ "workspace_id": "growth-cn", "model": "multi_touch", "date_range": "2026-07-01/2026-07-17", "identity": { "primary_key": "customer_id" }, "governance": { "data_region": "apac" }}Decision policies
Retrieve recommendations with confidence, rationale, constraints, approval state, and complete trace context.
Increase high-intent audience weight by 14%
Evidence: incremental contribution, saturation, conversion quality, and budget guardrails.
status: approval_requiredIdentity and deduplication
Use a business key as primary identity with explicit device or session fallbacks. Idempotency protects retries while identity preserves attribution context.
customer_ididfa / gps_adidsession_iddeduplicated_eventEvent ingestion
Submit channel, spend, conversion, and revenue events with schema and identity validation before attribution begins.
实时事件与低延迟写入
POST /v1/events历史回填与大批量导入
POST /v1/events/batch标准化数仓增量同步
Scheduled connectorAttribution runs
Attribution runs are isolated async jobs. Query progress, deltas, and governance checks by run_id without a long-lived client connection.
- 1
queued12 ms - 2
validating48 ms - 3
processing420 ms - 4
decision_ready8 ms
Decision API
Decision retrieval returns the recommended action, confidence, constraints, approval state, and evidence references in one context.
/v1/decisions/{decision_id}decisions:read/v1/decisions/{decision_id}/approvedecisions:approve/v1/decisions/{decision_id}/rejectdecisions:approveEvery delivery has status, retry, and recovery.
Inspect signatures, response codes, and next retry time. Safely replay failures with the original idempotency key.
decision.readywh_01J8… · 2026-07-17 10:21:03 UTCDelivered · 204
x-epvanta-signature: t=1784283702,v1=9af21c…action.approval_requiredwh_01J9… · 2026-07-17 10:23:18 UTCDelivered · 200
x-epvanta-signature: t=1784283702,v1=9af21c…export.completedwh_01JA… · 2026-07-17 10:27:42 UTCRetrying · 503
x-epvanta-signature: t=1784283702,v1=9af21c…Deployment and regions
Move through audit, connection, backfill, validation, release, and governance with explicit acceptance criteria.
- 01
Audit the current model
Inventory event schemas, identity keys, timestamps, spend sources, and reporting dependencies.
- 02
Connect ingestion surfaces
Map SDK, API, webhook, warehouse, and ad platform inputs into stable contracts.
- 03
Prepare historical backfill
Normalize legacy exports and isolate imported history from live traffic.
- 04
Validate in parallel
Run test traffic and reconcile windows, callbacks, raw exports, and dashboards.
- 05
Release in stages
Use environment credentials, staged rollout, and rollback checkpoints.
- 06
Expand governance
Add budget controls, finance models, audit trails, and regional privacy settings.
Rate limits
Rate limits are calculated independently by workspace, environment, and endpoint, with remaining capacity and reset time on every response.
3,000 req / minBurst 500 / sec120 req / min20 concurrent6,000 req / minRegional cacheError codes
invalid_requestInspect request_id and follow the documented recovery path.
authentication_errorInspect request_id and follow the documented recovery path.
idempotency_conflictInspect request_id and follow the documented recovery path.
rate_limit_exceededInspect request_id and follow the documented recovery path.
Monitoring and logs
Use trace_id to connect ingestion, attribution, decisions, and webhook delivery. Export raw logs to your observability stack.
event.receivedschema.validatedattribution.queueddecision.readywebhook.deliveredUse tools that match your engineering workflow.
From first validation to ongoing operations, every tool shares the same contracts, version policy, and example data.
Official TypeScript, Python, Go, and Java clients.
npm · PyPI · Maven · Go modulesDownload versioned schemas to generate clients or connect internal gateways.
OpenAPI 3.1 · JSON / YAMLImport environments, variables, and complete critical request paths.
Sandbox readyManage projects, keys, event replay, and pre-release checks.
epvanta 1.3.0Reference implementations for events, signatures, warehouses, and approvals.
Reference implementationsTrack capabilities, compatibility changes, deprecations, and migrations.
Versioned · RSSMake these boundaries the default before production.
Protect retries with idempotency keys
Set a stable idempotency_key on every write to prevent duplicate events during network retries.
Verify signatures before processing
Use the raw request body to validate timestamps and signatures within an accepted skew.
Separate backfill from live traffic
Use dedicated run identifiers so migrated history cannot distort live production analysis.
Observe every error response
Capture request_id, error code, retries, and rate-limit headers for a traceable failure path.
Questions before integration.
Yes. Event ingestion, attribution runs, decision retrieval, and execution delivery are separate permission surfaces. Start with data and parallel validation, then add approval and execution later.
Yes. They use separate projects, credentials, storage, and webhook endpoints. Sandbox data is retained for seven days and never enters production attribution or reporting.
The platform retries with exponential backoff and retains delivery history for 72 hours. Replay failures through the console or API with the original idempotency key.
Breaking changes only enter a new major version. Every deprecation includes a window, migration guide, and parallel validation period.
Validate the complete decision path in a Sandbox project.
Bring your event schema, identity rules, and callback requirements. We will help your team complete the first verifiable integration path.
